FUNCTIONAL PROGRAMMING
Graduate level course at UFMG
Prof: Carlos
Camarão
Course Program:
- Functional programming
- 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
Agenda:
Bibliography:
- Simon Thompson, The Craft of Functional Programming, 3rd edition, Addison-Wesley, 2011.
Complementary:
- Koen Claessen's course slides and exercises
- Lucília's course slides and exercises
- Miran Lipovaca, Learn You a Haskell for Great Good: a Beginner's Guide ,
No Starch Press, 2011.
- 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:
- 3 Exams: 20 + 25 + 25 points
Course support material:
- Haskell Platform: comes with the compiler (ghc) and interpreter (ghci) used in the course
- Course slides: