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

Programação Functional com Haskell

Programação Functional com Haskell

Avatar for Felipe de Morais

Felipe de Morais

February 18, 2016
Tweet

More Decks by Felipe de Morais

Other Decks in Programming

Transcript

  1. O que é programação funcional A programação funcional baseia-se no

    conceito matemático de função, em que para cada elemento do seu conjunto domínio (entrada) há apenas um elemento no seu conjunto contra-domínio (saída).
  2. História do Haskell Na conferência Linguagens de Programação Funcional e

    Arquitetura da Computação em 1987, Portland, Oregon, os participantes formaram um comitê para definir um padrão aberto para linguagens de programação funcional.
  3. Usos de Haskell • Facebook, backend para frontenders • Google

    Ganeti, gerenciamento de clusters • Intel, compilador para Haskell em estudos sobre paralelismo
  4. ◦ Funções puras ◦ Funções de alta ordem ◦ Pattern

    Matching ◦ Recursão ◦ Guards ◦ Composição de Funções As propriedades mais amadas
  5. Funções puras Funções de verdade • Sempre retornam o mesmo

    resultado • Sem estado Exemplos: • sqrt • product • sum
  6. Funções de alta ordem Funções solidarias recebem outras funções como

    parâmetro Exemplos: • map • reduce a.k.a foldr
  7. Composição de Funções Aplicando uma sequência de funções, sem um

    mundo de parênteses. Exemplos: • cifra de cesar • reverse words
  8. Como Começar? Aprendendo a ver por outra perspectiva • GHCI

    • Learn You a Haskell for Great Good!