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
Stack funcional com Elm
Search
Éber Freitas Dias
February 29, 2020
Programming
0
92
Stack funcional com Elm
Éber Freitas Dias
February 29, 2020
Tweet
Share
More Decks by Éber Freitas Dias
See All by Éber Freitas Dias
Contruindo aplicações livres de erros com Elm
eberfreitas
0
59
Como começar a fazer jogos com ferramentas open-source
eberfreitas
0
44
Other Decks in Programming
See All in Programming
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
CSC305 Lecture 08
javiergs
PRO
0
280
Cursorハンズオン実践!
eltociear
2
1.2k
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
190
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
450
AI Agent 時代的開發者生存指南
eddie
4
2.2k
CSC305 Lecture 09
javiergs
PRO
0
310
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.2k
Featured
See All Featured
Making Projects Easy
brettharned
120
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Rails Girls Zürich Keynote
gr2m
95
14k
Documentation Writing (for coders)
carmenintech
75
5.1k
Optimizing for Happiness
mojombo
379
70k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Balancing Empowerment & Direction
lara
5
700
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Practical Orchestrator
shlominoach
190
11k
Why Our Code Smells
bkeepers
PRO
340
57k
Transcript
Stack funcional com Elm
Olá, eu sou o Éber! Elixir & Elm - Radify
None
None
Agradecimentos
Me interrompam!
JavaScript... é complicado
JavaScript... é complicado • dinâmica e flexível
None
JavaScript... é complicado • dinâmica e flexível • cheia de
*wats*
None
What the… JavaScript? - Kyle Simpsons https://youtu.be/2pL28CcEijU
JavaScript... é complicado • dinâmica e flexível • cheia de
*wats* • ecossistema populado
None
JavaScript... é complicado • dinâmica e flexível • cheia de
*wats* • ecossistema populado • as coisas estão melhorando...
Alternativas
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe…
language Hipster
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe… • TypeScript
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe… • TypeScript •
LiveView
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe… • TypeScript •
LiveView • Lumen
None
Uma linguagem agradável… … para webapps confiáveis … sem exceções
em tempo de execução … com mensagens de erro amigáveis
Elm • Evan Czaplicki, 2012 • Puramente funcional • Fortemente
tipada • Haskell, OCaml, F# • Compila para JS • Compilador escrito em Haskell • 0.19.1 (Out/2019)
Linguagem & arquitetura
Linguagem • Funcional
Linguagem • Funcional • Sintaxe
None
None
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs)
None
None
None
None
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types • Union types
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types • Union types • Maybe
None
None
[ 1, NaN, NaN ]
None
None
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types • Union types • Maybe • Funcional² (sem efeitos colaterais)
Arquitetura • The Elm Architecture (MVU)
https://elmprogramming.com/model-view-update-part-1.html
Arquitetura • The Elm Architecture (MVU) • Commands & Subscriptions
https://elmprogramming.com/subscriptions.html
Exemplo
None
None
None
None
None
None
Trade-offs
Quem usa? • thoughtbot • Rakuten • NoRedInk • Stone
• Cálculo Jurídico • PivotalTracker • Emirates • Vy • ...
Como aprender? • https://guide.elm-lang.org/ • https://elmprogramming.com/ • https://www.manning.com/books/elm-in-action • https://cuducos.me/2016/10/24/vamos-aprender-elm.html
• https://www.twitch.tv/eberfreitas
Dúvidas? speakerdeck.com/eberfreitas twitter.com/eber_freitas github.com/eberfreitas linkedin.com/in/eberfreitas
[email protected]