Descrição: C:\Users\lucilia\Documents\web\ Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

 

Descrição: HaskellLogo_2.jpg

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

 

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

Home

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

Research and Publications

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

Book

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

Teaching (in portuguese)

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

Activities

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

Descrição: Descrição: Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição: C:\Users\lucilia\Documents\web\

Descrição:

 

 

 

Lucília Camarão de Figueiredo

Associate Professor (1993-...)

Computer Science Department

Federal University of Ouro Preto

 

Descrição: C:\Users\lucilia\Documents\web\

BCC222 – PROGRAMAÇÃO FUNCIONAL               

 

Introdução: Linguagens de programação funcional enfatizam a definição e aplicação de funções e não a execução de comandos. Oferecem uma notação concisa para expressar programas, mecanismos de abstração poderosos para estruturação de programas e uma base matemática simples para prover suporte ao raciocínio sobre programas. O objetivo deste curso é introduzir os conceitos básicos e fundamentos de linguagens de programação funcional, utilizando a linguagem Haskell.

 

Bibliografia:

       Simon Thompson, Haskell: The Craft of Functional Programming, Addison Wesley.

       Graham Hutton, Programming in Haskell, Cambridge University Press, 2007.


Outras referências
:

Livros e artigos:

       Bryan O’Sullivan, Don Stewart an John Goerzen, Real World Haskell, O’Reilly, 2008.

       Richard Bird, Introduction to Functional Programming, Prentice Hall, 1998

       Paul Hudak, The Haskell School of Expression, Cambridge University Press, 2000

       Paul Huday, John Hughes, Simon Peyton-Jones, A History of Haskell, 2007.

       Fethi, Rabhi and Lapalme, Guy, Algorithms: A Functional Programming Approach, Addison-Wesley,1999

Links úteis:

       Site da linguagem Haskell: www.haskell.org 

       Haskell Wikibook: http://en.wikibooks.org/wiki/Haskell

       Haskell reference library: Zvon  / Hoogle

Tutoriais:

       Excelente tutorial sobre Haskell (Miran Lipovaca): http://learnyouahaskell.com/chapters

       Tutorial de Haskell (em português) (André Rauber Du Bois)

       Tutorial de Haskell (por Hall Dume)

      Tutorial sobre IO em Haskell (em português)

       Tutorial sobre mônadas (por Theodore Novell)

      Tutorial sobre wxHaskell (interfaces gráficas em Haskell)

Interessante:

      Um pouco sobre a história de linguagens funcionais

       Comparação de desempenho de linguagens de programação

 

Programa de aulas:

 

22/02

fun00.pdf

Introdução

24/02

01/03

03/03

fun01.pdf

fun02.pdf

pratica00.zip

Introdução a Haskell

Funções   lect02a.hs     lec02b.hs

     

08/03

10/03

15/03

fun03.pdf

 

pratica01.zip

Listas, list comprehension, recursão

              lect03.hs

Solução: pratica01-sol.hs                              

17/03

22/03

24/03

fun05.pdf

 

pratica02.pdf

Mais sobre recursão

             lect05.hs

Solução: pratica02-sol.hs

29/03

31/03

05/04

fun07.pdf

 

pratica03.zip

Funções de ordem superior

           

Solução: pratica03-sol.hs

07/04

 

Revisão / Exercícios

26/04

 

Prova 1 (30%) – SALA 211 Pavilhão central

solução

14/04

19/04

26/04

fun09.pdf

 

pratica04.zip

Provas de propriedades de programas

28/04

03/05

05/05

fun11.pdf

 

pratica05.zip

Tipos de dados algébricos (data types)

             lect11.hs

Solução: pratica05-sol.hs

10/05

12/05

17/05

fun13.pdf

 

pratica06.zip

Tipos Abstratos / Tipos algébricos / Type Classes

     lect13-code.zip      pratica06-sol.hs

           KeyMapTreeSol.hs

19/05

24/05

26/05

fun17.pdf

 

pratica08.zip

Entrada e Saída / Mônadas

                lect17-code.zip

31/05

fun20.pdf

Isomorfismo Curry-Howard

02/06

 

Revisão / Exercícios

21/06

 

Prova 2 (50%) – SALA 211 Pavilhão central

enunciado     solução

14/06

16/06

21/06

 

 

pratica07.zip

Combinadores de parsers

             lect15-code.zip

05/07

10:10hs

Exame Especial (100%) SALA 211 Pavilhão central

Toda a matéria, exceto IO (substitui a nota do semestre)

 

Exercícios adicionais:

 

Recursão, Listas, List Comprehension

EX01.pdf

EX01sol.hs

Funções de ordem superior

EX02.pdf

 

Tipos de dados algébricos

EX03.pdf

EX03sol.hs

Sobrecarga: classes e instâncias

EX04.pdf

 

Entrada e Saída

EX05.pdf

 

 

 

Descrição: C:\Users\lucilia\Documents\web\

Computer Science Department

Federal University of Ouro Preto

Descrição: C:\Users\lucilia\Documents\web\