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.

Avatar for Vitor Luiz Cavalcanti

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?