FUNCTIONAL PROGRAMMING
Graduate level course at UFMG
Prof: Carlos
Camarão de Figueiredo
Course Program:
- Functional programming concepts and examples
- function definitions
- lists
- datatypes
- higher-order functions
- polymorphism
- typing, overloading, type classes, type inference
- abstract data types and modules
- lazy evaluation
- monads and I/O
Bibliography:
Complementary:
- Richard Bird, Introduction to Functional Programming using Haskell, 2nd edition, Prentice Hall 1998.
- Real World Haskell, Bryan O'Sullivan, Don Stewart, John Goerzen, O'Reilly, 2009.
- Paul Hudak, The Haskell School of Expression: Learning Functional Programming through Multimedia, Cambridge Univ. Press, 2000.
- Material on the web: http://haskell.org.
Evaluation:
- Exercises: 10 points
- 2 Projects: 20 + 20 points
- 2 Exams: 25 + 25 points
Course support material:
Download the Haskell Platform, which comes with the compiler (ghc) and interpreter (ghci) used in the course.