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
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:
- Aula 1: Caps. 1,2
- Aula 2: Cap. 3
- Aula 4: Caps. 4, 5
- Aula 6: Cap. 6
- Aula 8: Cap. 7
- Aula 10: Cap. 8
- Aula 12: Cap. 9
- Aula 14: Cap. 10
- Aula 15: Cap. 11