Course Assignments
Afp0304
How to hand in exercises
Exercises are to be handed in by email befor ethe lecture starts, by sending them to
doaitse@cs.uu.nl, with (assuming that the due date is September 11):
- a subject field as in AFP0911-DoaitseSwierstra-123456789, where the last number is your student number and the name is your wiki name
- program texts should be normal ASCII files that are attached, with name 0911-wikiname.hs
- written text should be in attached pdf format (Word files etc. will not be accepted), with name 0911-wikiname.pdf
Week 1
Thu, Sep. 4
- Hand in three preferences for the topics you want to talk about
- You may hand in suggestions as a couple
- Hand in before Tuesday 9.00
Week 2
Thu, Sep 11
- study the monad tutorial on the web
- to be handed in Find out what the "extra" functions in the Monad class are used for (Monads are defined in the standard libraries of Haskell), and hand in your own description in the format described above
Week 3
Tu, Sep 16
- continue studying the monad tutorial
- try to implement some graph algorithm that you can not easily express in Haskell (like union/find) and express this using STRef's
- read the finanicial combinators paper
Thu, Sep 18
- To be handed in You may have noticed that the do-notation has a lot in common with the notation for list comprehensions. This is not a coincidence since list can me made and instance of the class
Monad too. Give the proper instance declaration and explain in your own words why this works, and explain the correspondence. Also look up the laws that hold for monads and show that they hold for the implementation you have given.
Week 4
Tue, Sep 23
Week 5
Tue, Sep 30
--