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

Por que dar uma chance a FP com TypeScript?

Por que dar uma chance a FP com TypeScript?

Uma introdução as bases da programação funcional, os motivos pelos quais ela funciona bem com o TypeScript e um exemplo do casamento dos dois.

Vitor Luiz Cavalcanti

January 16, 2020
Tweet

More Decks by Vitor Luiz Cavalcanti

Other Decks in Programming

Transcript

  1. Quem sou eu? @VitorLuizC em todas as redes sociais (LinkedIn,

    Twitter, GitHub etc). - Trabalho como Engenheiro Front-End na Linte. - Mantenho +30 bibliotecas em JavaScript.
  2. "FP É um paradigma que resume computação a execução de

    funções e evita ao máximo mutabilidade."
  3. Cidadãos de primeira classe - Podem ser retornados por outras

    funções. - Podem ser guardados em variáveis. - Podem ser recebidos como argumentos.
  4. - Funções que não fazem I/O. - Não causam efeitos

    colaterais. - Não possuem dependências de dados*.
  5. - Recursões são a maneira declarativa de fazer loops. -

    Toda recursão tem um caso de parada. - JS tem call stack.
  6. - Em avaliação restrita essa linha lança um erro de

    divisão por "0". - Porém com a avaliação preguiçosa essa linha vai ser executada e vai exibir "4".
  7. - Criar novas funções operando e compondo funções já criadas.

    - Atomicidade e divisão de responsabilidade total.
  8. - Estruturas de dados usados pra compor outras estruturas. -

    No exemplo ao invés de retornar null a função retorna um Option.
  9. • Funções Puras - Fáceis de entender. - Fáceis de

    testar. - Fáceis de compor. • Checagem de Tipos - Ajuda a compor com mais segurança as funções. - Garante checagens em estruturas de dados e tipos algébricos*. • Manutenção fácil. • TS suporta muita e infere uma boa parte das funções mais complexas. • Infelizmente sem suporte a HKT e Variadic Kinds. Beleza. Mas por que usar TS com FP?