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
290
Connect.Tech 2019: Solving the Boolean Identity Crisis
jfairbank
0
150
Lambda Squared 2019: Solving the Boolean Identity Crisis
jfairbank
0
75
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
Folding Cheat Sheet #3
philipschwarz
PRO
0
110
ゆるい個人開発のススメ
kuroppe1819
10
940
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
甘い香りに誘われてVanilla Extractを1年間運用してみた
miyahkun
1
110
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
310
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
900
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
350
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
3.6k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.2k
1인 개발자로 행복하게 살기 - GDG 송도 헬로월드 2024
benjaminkim
1
5.6k
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
SpringBoot+MyBatisで例外が出たときどこを見るか
syukai
0
110
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
175
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Rails Girls Zürich Keynote
gr2m
91
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Agile that works and the tools we love
rasmusluckow
324
20k
Embracing the Ebb and Flow
colly
79
4.1k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Happy Clients
brianwarren
91
6.4k
Making Projects Easy
brettharned
108
5.5k
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