LiU-FP2010 Part II

Linköping 17--19 May, 2010

Overview


Literature

Papers, tutorials, and lecture notes as indicated for each session. There are also a number of books on Haskell and functional programming that you may find useful. Some examples:

Programming in Haskell [Hut07] by Graham Hutton is a good beginner's book on Haskell, although aimed at first-year undergraduates.

Purely Functional Data Structures [Oka98] by Chris Okasaki is a great book on data structures in a purely functional setting, and how to employ both lazy and strict evaluation to get the right complexity bounds. Moreover, as purely functional data structures are persistent, which is a very useful property in its own right, the utility of the presented material goes well beyond functional programming.

Real World Haskell [SGS09] by Bryan O'Sullivan, John Goerzen, and Don Stewart covers everything you need to know for serious Haskell development.

Wondering how to debug your Haskell programs? Well, there are a number of options. One possibility, while it has certain drawbacks, is the traditional, procedural debugger integrated in GHCi 6.8.1 or later. You can read more about it in Bernie Pope's article in issue 10 of the Monad.Reader [POP08].


Lectures and Practicals

This is a somewhat tentative overview of the Lectures (L) and Practicals (P). In particular, some of the lectures advertised as 2 x 45 minutes are likely to be a bit shorter, giving a bit more time for the following practical.

Session Date and Time Content Reading
L1 17 May, 10:15--12:00 Review of Haskell: A lightening tour in 90 minutes Slides: on screen, 4up, 9up
[HPF] [Hug89] [Lip] [Wad89]
P1 17 May, 13:15--15:00 Haskell Basics Mini Tutorial [HPF] [Hug89]
L2 17 May, 15:15--17:00 Lazy Functional Programming Slides: on screen, 4up, 9up
[AHU83] [Hug89] [Joh87] [JG92] [Llo94]
L3 18 May, 09:15--11:00 Purely Functional Data Structures Slides: on screen, 4up, 9up
[Oka98]
P2 18 May, 11:15--12:00 Lazy Functional Programming and Purely Functional Data Structures Exercises Lecture 2
Exercises Lecture 3
L4 18 May, 13:15--15:00 Monads Slides: on screen, 4up, 9up
[BHM00] [Wad92]
P3 18 May, 15:15--16:00 Monads Exercises Lecture 4 and 6
L5 18 May, 16:15--17:00 Type Classes Slides: on screen, 4up, 9up
L6 19 May, 09:15--11:00 More About Monads and Other Notions of Effectful Computation Slides: on screen, 4up, 9up
[BHM00] [LHJ95]
P4 18 May, 11:15--12:00 Monads and Type Classes Exercises Lecture 4 and 6
Exercises Lecture 5
L7 19 May, 13:15--15:00 Concurrency Slides: on screen, 4up, 9up
[Cla99] [HMPH05] [Pey07]
P5 18 May, 15:15--16:00 Catch up


References


Last updated 19 May 2010.