Content
The course provides an introduction to functional programming, covering both, practical examples using Haskell (a purely functional language) and theoretical background.
Schedule
Exercises are to be found at the end of the slides for each week.
week | date | topics | slides | notes | sources | solutions |
---|---|---|---|---|---|---|
1 | 06.10. | historical overview, Haskell introduction, first steps | pdf (4x1) | html | ||
2 | 13.10. | lists, polymorphism, higher-order functions, types and classes | pdf (4x1) | archive | html | |
3 | 20.10. | modules, strings, list comprehensions, recursive functions | pdf (4x1) | archive | html | |
4 | 27.10. | user-defined types, trees, input and output | pdf (4x1) | archive | html | |
5 | 03.11. | lambda-calculus | pdf (4x1) | archive | ||
6 | 10.11. | evaluation strategies | pdf (4x1) | archive | html | |
7 | 17.11. | induction, reasoning about functional programs | pdf (4x1) | |||
8 | 24.11. | efficiency, tail-recursion | pdf (4x1) | html | ||
9 | 01.12. | combinator parsing / functional parsers | pdf (4x1) | archive | html | |
10 | 15.12. | types, type checking | pdf (4x1) | |||
11 | 12.01. | type inference | pdf (4x1) | archive | ||
12 | 19.01. | lazy evaluation, infinite data structures | pdf (4x1) | archive | ||
13 | 26.01. | monads | pdf (4x1) | archive |
Literature
Amongst other sources the course incorporates material from the following books:- Graham Hutton, Programming in Haskell, Cambridge University Press, 2007, ISBN 9780521692694.
- Richard Bird, Introduction to Functional Programming using Haskell (2nd edition), Prentice Hall Europe, 1998, ISBN 0134843460.
- Bryan O'Sullivan et al., Real World Haskell, (freely available online) O'Reilly, 2008, ISBN 9780596514983.
- Simon Thompson, Haskell: The Craft of Functional Programming, Addison-Wesley, 1996, ISBN 0201403579.
- Chris Hankin, An Introduction to Lambda Calculi for Computer Scientists, King's College Publications, ISBN 0954300653.