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
100
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
180
CodeMash 2020: Solving the Boolean Identity Crisis
jfairbank
1
130
CodeMash 2020: Practical Functional Programming
jfairbank
1
290
Connect.Tech 2019: Practical Functional Programming
jfairbank
0
310
Connect.Tech 2019: Solving the Boolean Identity Crisis
jfairbank
0
160
Lambda Squared 2019: Solving the Boolean Identity Crisis
jfairbank
0
98
All Things Open 2018: Practical Functional Programming
jfairbank
2
250
Connect.Tech 2018: Effective React Testing
jfairbank
1
130
Fluent Conf 2018: Building web apps with Elm Tutorial
jfairbank
2
800
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
340
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
170
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
240
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
100
Identifying User Idenity
moro
6
9.7k
as(型アサーション)を書く前にできること
marokanatani
6
1.7k
イベント駆動で成長して委員会
happymana
1
300
Realtime API 入門
riofujimon
0
150
Amazon Qを使ってIaCを触ろう!
maruto
0
380
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
510
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
120
Better Code Design in PHP
afilina
PRO
0
120
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
168
14k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Thoughts on Productivity
jonyablonski
67
4.3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Navigating Team Friction
lara
183
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Into the Great Unknown - MozCon
thekraken
32
1.5k
How STYLIGHT went responsive
nonsquared
95
5.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
A better future with KSS
kneath
238
17k
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