BCC111 - Programação Funcional - 2026-2Carga horária da disciplina: 4 horas/aula Professor(es) em 2026-2
ObjetivosEmentaCaracterísticas dos principais paradigmas de programação; princípios do paradigma de programação funcional; principais características de linguagens de programação funcional: recursão, abstração funcional, funções de ordem superior, tipos de dados algébricos, polimorfismo, inferência de tipos, avaliação estrita e avaliação lazy, sobrecarga; demonstração de correção de programas funcionais.Conteúdo Programático- ● Introdução- ● Paradigmas de programação - ● Definindo funções - ● Funções recursivas - ● Tuplas, listas e polimorfismo paramétrico e de sobrecarga. - ● Casamento de padrão - ● Entrada e saída - ● Funções anônimas e de ordem superior - ● Tipos de dados algébricos. - ● Functores e Mônadas. - ● Teste baseado em propriedades. - ● Raciocínio sobre programas funcionais. - ● Noções sobre tipos dependentes em linguagens de programação. Bibliografia- ● Lipovaca, Miran - Learn you a Haskell for the great good! No Starch Press. Disponível gratuitamente- on-line:http://learnyouahaskell.com - ● O'Sullivan, Bryan; Stewart, Don ; Goerzen, John - Real World Haskell. Disponível gratuitamente - on-line:http://book.realworldhaskell.org - ● WADLER, Philip; KOKKE, Wen; SIEK, Jeremy. Programming Languages Foundations in Agda.Disponível gratuitamente on-line: https://plfa.github.io - ● MARLOW, Simon. Parallel and Concurrent Programming in Haskell. Disponível gratuitamente on-line: https://simonmar.github.io/pages/pcph.html Bibliografia complementar- ● Jhala, Ranjit; Seidel, Eric ; Vazou, Niki - Programming with Refinement Types: An introduction to Liquid Haskell.Disponível gratuitamente- on-line:http://ucsd-progsys.github.io/liquidhaskell-tutorial/ - ● BIRD, Richard. Introduction to Functional Programming using Haskell. 2. ed. London: Prentice Hall Press, 1998. - ● MILNER, R.; TOFTE, Mads; HARPER, Robert. The definition of standard ML. Cambridge: MIT, 1997. - ● ULLMAN, Jeffrey D. Elements of ML programming. New Jersey: Prentice-Hall. 1998. - ● PAULSON, Laurence C. ML for the working programming. 2. ed. Cambridge: Cambridge University, 1996. - ● PEYTON JONES, Simon L. The implementation of functional programming languages. New York: Prentice-Hall. 1987. |
Departamento de Computação | ICEB | Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro | CEP 35400-000 | Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692 | decom@ufop.edu.br