en | de

Functional Programming

bachelor program

VO2 + PS1  WS 2010/2011  703017 + 703018

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) pdf archive pdf
6 10.11. evaluation strategies pdf (4x1) archive html
7 17.11. induction, reasoning about functional programs pdf (4x1) pdf pdf
8 24.11. efficiency, tail-recursion pdf (4x1) pdf html
9 01.12. combinator parsing / functional parsers pdf (4x1) archive html
10 15.12. types, type checking pdf (4x1) pdf pdf
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: