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
Introduction to Elm
Search
Dorian Karter
December 04, 2015
Programming
2
180
Introduction to Elm
Talk I gave at Hashrocket Mini Conf about the wonderful Elm language.
Dorian Karter
December 04, 2015
Tweet
Share
More Decks by Dorian Karter
See All by Dorian Karter
Building Multiplayer Games with Phoenix LiveView
dkarter
2
470
Going All In with NeoVim
dkarter
0
260
Versioning APIs in Phoenix
dkarter
1
170
Integration Testing with Page Objects
dkarter
3
160
Build Your First Vim Plugin
dkarter
1
260
Other Decks in Programming
See All in Programming
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
460
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
250
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
200
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
AI Agent 時代的開發者生存指南
eddie
4
2.2k
EMこそClaude Codeでコード調査しよう
shibayu36
0
470
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.6k
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
Webサーバーサイド言語としてのRustについて
kouyuume
1
5k
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
9k
Vue 3.6 時代のリアクティビティ最前線 〜Vapor/alien-signals の実践とパフォーマンス最適化〜
hiranuma
1
200
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Documentation Writing (for coders)
carmenintech
75
5.1k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Facilitating Awesome Meetings
lara
57
6.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Scaling GitHub
holman
463
140k
Transcript
Make the web functional again. Elm
What is Elm?
Functional Reactive Programming Language
Statically Typed
Compiles to JavaScript Generates HTML and CSS
Evan Czaplicki Present: Developed in 2012 by
Why Elm?
No more runtime exceptions!
Pure X ⇒ Y
Immutable
Blazing Fast Rendering
State History (and free time travelling debugger)
Type inference (but you’ll end up defining your types)
Interactive Programming Due to Hot Swapping
Composable Components Like React, but components can run independently
Amazing Tools!
REPL Package Manager Compiler Reactor Debugger
None
None
Free and Automatic Semantic Versioning
Smooth JavaScript interop JS
Easy(er) syntax and lower learning curve * When compared to
other functional languages ** terms and conditions may apply
Elm Syntax Crash Course
Literals
Manipulating Literals
Lists
Functions Anonymous functions
Records
Type Annotations
Type Aliases
Elm Architecture Basic Concepts
MUV = { Model Update View }
None
Signals
None
None
Mailboxes
DEMO
Thank You!