Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ATL JS: Intro to Elm
Search
Jeremy Fairbank
November 28, 2017
Programming
0
92
ATL JS: Intro to Elm
Jeremy Fairbank
November 28, 2017
Tweet
Share
More Decks by Jeremy Fairbank
See All by Jeremy Fairbank
Connect.Tech 2020: Advanced Cypress Testing
jfairbank
1
160
CodeMash 2020: Solving the Boolean Identity Crisis
jfairbank
1
120
CodeMash 2020: Practical Functional Programming
jfairbank
1
290
Connect.Tech 2019: Practical Functional Programming
jfairbank
0
300
Connect.Tech 2019: Solving the Boolean Identity Crisis
jfairbank
0
150
Lambda Squared 2019: Solving the Boolean Identity Crisis
jfairbank
0
78
All Things Open 2018: Practical Functional Programming
jfairbank
2
240
Connect.Tech 2018: Effective React Testing
jfairbank
1
130
Fluent Conf 2018: Building web apps with Elm Tutorial
jfairbank
2
760
Other Decks in Programming
See All in Programming
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.9k
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
720
Timeline エディター拡張入門
yucchiy
0
450
An adventure of Happy Eyeballs
coe401_
1
140
mb_trim関数を作りました
youkidearitai
PRO
1
190
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
740
スタックトレース始めてみた
kuro_kurorrr
4
1.1k
TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript
rkaga
5
1.3k
Productivity is Messing Around and Having Fun
hollycummins
1
170
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
0
1k
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
140
チーム立ち上げにAWSを活用したらClaudeさんに褒められた話
mkdev10
3
230
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Making Projects Easy
brettharned
109
5.5k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
The Cost Of JavaScript in 2023
addyosmani
21
4k
Designing for humans not robots
tammielis
247
25k
The Mythical Team-Month
searls
217
42k
BBQ
matthewcrist
80
8.8k
Designing the Hi-DPI Web
ddemaree
276
33k
How to Ace a Technical Interview
jacobian
273
22k
GitHub's CSS Performance
jonrohan
1025
450k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Typedesign – Prime Four
hannesfritz
36
2.1k
Transcript
Intro to Elm Jeremy Fairbank @elpapapollo / jfairbank
Software is broken. We are here to fix it. Say
[email protected]
Functional and statically typed programming language for frontend development elm
Web and UI Focused
Compiles to JavaScript
No runtime exceptions in practice.
The 2nd argument to function `add` is causing a mismatch.
7| add 2 "3" ^^^ Function `add` is expecting the 2nd argument to be: Int But it is: String Compile time static type checks
Functional
Pure Data in Data out
Pure No side effects
Pure Predictable and Testable!
Immutable Data • Safety and consistency • Explicit flow of
data • No subtle mutation bugs
No undefined is not a function
Fast
One framework. No fatigue. Update View Model Messages
model Update View
model Update View VDOM
model Update View
model Update View
model Update View
model Update View
model Update View
model Update View VDOM
✓ Easier to write code ✓ Easier to write tests
✓ Easier to refactor
Demo
Getting Started • elm-lang.org • elm-lang.org/examples • guide.elm-lang.org • www.elm-tutorial.org
• builtwithelm.co • Slack • elmlang.herokuapp.com
Programming Elm: Build Safe and Maintainable Front-End Applications Follow @elpapapollo
for future updates
Thanks! Jeremy Fairbank @elpapapollo / jfairbank Slides: bit.ly/elm-atl-js Demo: bit.ly/elm-atl-js-demo