Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Elm - The freedom of constraints
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ilias Van Peer
September 23, 2017
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elm - The freedom of constraints
Ilias Van Peer
September 23, 2017
Other Decks in Programming
See All in Programming
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
すこし踏み込む CancellationToken
htkym
2
1.7k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
気持ちぃ〜角丸 Squircle
ryu1013
0
310
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
440
Jetpack Compose Mechanisms
skydoves
3
820
Performance Optimization With LLMs
xleitix
0
130
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.8k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Site-Speed That Sticks
csswizardry
13
1.6k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Navigating Weather and Climate Data
rabernat
0
560
A designer walks into a library…
pauljervisheath
211
25k
Six Lessons from altMBA
skipperchong
29
4.5k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Agile that works and the tools we love
rasmusluckow
331
22k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Transcript
Elm The freedom of constraints
Hi
None
Elm • Functional Programming language for the frontend • More
than a language • Delightfully opinionated • Incredible community
Simple language • Minimal syntax • No magic • Small
vocabulary • Very few concepts
- Evan Czaplicki What is the minimal thing we can
get away with And how far can we go with that
Virtual DOM Event R U N T I M E
Model update Msg HTML
R U N T I M E Model update Msg
Sub Cmd • Listen on a web socket • Monitor the url (history API) • Incoming JS calls • … • Make an HTTP request • Change the url (history API) • Trigger outgoing JS calls • …
Union types type Result e a = Err e |
Ok a
Union types type RemoteData e a = NotAsked | Loading
| Failure e | Success a krisajenkins/remotedata
Records type alias Model = { firstName : String ,
lastName : String , sidebarVisible : Bool , moreStuff : ... } viewUser : Model -> Html Msg viewUser model =
Constraining records viewUser : { r | firstName : String
, lastName : String } -> Html msg viewUser { firstName, lastName } = viewUser model =
Live dev server REPL Package manager Compiler Tooling
More! elm-test elm-verified-examples elm-html-test elm-format elm-benchmark elm-static-html elm-sketch-importer json-to-elm html-to-elm
elm-webpack-loader
Constraints • Limit design space • Limit choices • Give
guarantees
Community Slack - https://elmlang.herokuapp.com Reddit - /r/elm Mailing list Meetups!
❤ @zwilias