MGS 2012: Functional Programming (FUN)


This page contains links to all electronic material used in the Functional Programming (FUN) lectures that were given as part of MGS 2012 in Birmingham, UK, 23–27 April.

The slides are all in PDF, and there are three versions available for each lecture. The basic version is intended for on-screen viewing only, whereas the 4 up and 9 up versions are mainly intended for printing, putting 4 and 9 slides respectively onto each page.

Course Abstract

This is an intermediate-level course on functional programming seeking to deepen the participants understanding of functional programming and its possibilities through a series of loosely connected lectures on a few selected topics. Basic functional programming experience in a modern functional language featuring a parametrically polymorphic type system, like Haskell or ML, is assumed. The language used in the course is Haskell.


The course is supported by exercise sessions.

Lecture 1: Lazy Functional Programming

23 April 2012

Lecture 2: Purely Functional Data Structures

24 April 2012

Lecture 3: Monads

25 April 2012

Lecture 4: More about Monads

26 April 2012

Lecture 5: Concurrency

27 April 2012

Exercises: Lectures 1--4

Last updated 20 April 2012.