Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contruindo aplicações livres de erros com Elm

Contruindo aplicações livres de erros com Elm

Éber Freitas Dias

March 04, 2020
Tweet

More Decks by Éber Freitas Dias

Other Decks in Programming

Transcript

  1. Oi, eu sou o Éber! • formado em Design Gráfico

    • 15 anos (mais ou menos) de XP c/ webdev • programador na Radify - Elm/Elixir
  2. O que é Elm? • puramente funcional • fortemente tipada

    • webapps confiáveis • aprendizado e utilização agradáveis • compila para javascript • sem erros em tempo de execução
  3. Uncaught TypeError: Cannot read property TypeError: ‘undefined’ is not an

    object TypeError: null is not an object (unknown): Script error TypeError: Object doesn’t support property TypeError: ‘undefined’ is not a function Uncaught RangeError TypeError: Cannot read property ‘length’ Uncaught TypeError: Cannot set property ReferenceError: event is not defined
  4. Uncaught TypeError: Cannot read property TypeError: ‘undefined’ is not an

    object TypeError: null is not an object (unknown): Script error TypeError: Object doesn’t support property TypeError: ‘undefined’ is not a function Uncaught RangeError TypeError: Cannot read property ‘length’ Uncaught TypeError: Cannot set property ReferenceError: event is not defined
  5. A abordagem Elm... • compilação • tipagem forte e estática

    • imutabilidade • sem estado compartilhado
  6. A abordagem Elm... • compilação • tipagem forte e estática

    • imutabilidade • sem estado compartilhado • sem null/undefined/NaN
  7. A abordagem Elm... • compilação • tipagem forte e estática

    • imutabilidade • sem estado compartilhado • sem null/undefined/NaN • funções totais
  8. “Funções totais são funções que te dão um retorno válido

    para qualquer combinação de argumentos válidos”
  9. A abordagem Elm... • compilação • tipagem forte e estática

    • imutabilidade • sem estado compartilhado • sem null/undefined/NaN • funções totais • sem side-effects
  10. Como aprender mais... • 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 • https://t.me/elmbrasil • https://perifacode.com