Manelinho

Cálculo point-free

  • Programação funcional usando combinadores.
  • Álgebra da programação funcional: propriedades universais.
  • Técnicas para eliminação de variáveis na definição de funções.

Padrões de recursividade

  • Definição genérica de tipos de dados indutivos usando functores.
  • Definição de funções recursivas usando folds e unfolds.
  • Hilomorfismos: programação com estruturas de dados intermédias.
  • Técnicas para eliminação de recursividade explícita usando padrões de recursividade.
  • Cálculo com funções recursivas: fusão, tupling, etc.

Monads

  • Motivação: funções parciais e o monad Maybe.
  • Computações com estado.
  • Definição formal de monad.