CAES005 - Introdução à Programação Funcional

Turma 2019

Carga horária: 45 horas-aula (3 créditos)

Ementa: Programação Funcional: Conceitos e Principais Linguagens. Funções: funções como cidadãos de primeira classe, funções nomeadas e funções anônimas, currying, módulos. Casamento de Padrões. Estruturas de dados e imutabilidade. Recursão. Processamento de coleções. Lazy evaluation. Fluxo de controle. Implementação de projetos envolvendo uma linguagem funcional. Visão geral de linguagens funcionais para concorrência.

Bibliografia:

https://github.com/adolfont/introducao-a-programacao-funcional/blob/master/README.md

O Essencial da Programação Funcional em Elixir

Concurrency Oriented Programming in Erlang, Joe Armstrong

Functional Programming - Graham Hutton, University of Nottingham