MGS 2006: 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

9 April 2006

Lecture 3: Monad Transformers

10 April 2006

Lecture 4: Functional Reactive Programming and Arrows

10 April 2006

Last updated 10 April 2006.