There are three programming assignments, which you should do in pairs.
If you have a good reason for doing the assignments by yourself,
please contact Dan, Anton or Patrik. You need to pass all three assignments
in order to pass the course.
Each of the assignments is divided into two parts with separate
The assignments have to be handed in using the Fire system.
Assignment 1 - Turtle Graphics
Design and implement an embedded language for turtle graphics.
Assignment 2 - Replay Monad
Implement a monad which allows computations to be replayed, and
implement a programming model for CGI programs on top of this
Assignment 3 - Open project
The third assignment is a more open project where you read, understand, extend and evaluate an existing Haskell package.