MGS 2007: Advanced Functional Programming

Lecture Note Index

This page contains links to all electronic material used during the lectures, in particular electronic slides and any major pieces of code. 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 on each page. (The format of any slides for guest lectures, however, could be different.)


Monads and Arrows are concepts with roots in Category Theory that have found important applications as aids for structuring functional programs and libraries. The Advanced Functional Programming stream is going to introduce and explore these concepts and their relationships, with an emphasis on practical applications like modular interpreters and embedded domain-specific languages.

Lecture 1 & 2: Introduction to Monads

16 April 2006

Lecture 3: Monad Transformers

18 April 2006

Last updated 2 March 2008.