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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jeremy Fairbank
November 28, 2017
Programming
0
130
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
240
CodeMash 2020: Solving the Boolean Identity Crisis
jfairbank
1
180
CodeMash 2020: Practical Functional Programming
jfairbank
1
350
Connect.Tech 2019: Practical Functional Programming
jfairbank
0
400
Connect.Tech 2019: Solving the Boolean Identity Crisis
jfairbank
0
210
Lambda Squared 2019: Solving the Boolean Identity Crisis
jfairbank
0
160
All Things Open 2018: Practical Functional Programming
jfairbank
2
270
Connect.Tech 2018: Effective React Testing
jfairbank
1
190
Fluent Conf 2018: Building web apps with Elm Tutorial
jfairbank
2
910
Other Decks in Programming
See All in Programming
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
150
AHC061解説
shun_pi
0
380
Ruby and LLM Ecosystem 2nd
koic
1
810
CSC307 Lecture 15
javiergs
PRO
0
250
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
110
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
120
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
1k
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
340
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
950
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
120
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
36k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
310
4 Signs Your Business is Dying
shpigford
187
22k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
For a Future-Friendly Web
brad_frost
183
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
680
Between Models and Reality
mayunak
2
230
Making Projects Easy
brettharned
120
6.6k
Navigating Weather and Climate Data
rabernat
0
140
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