Course Literature

Afp0405
The literature for AFP consists of a number of selected papers that are all available through Internet. These papers cover the topics that are discussed in the lectures. Students are expected to study these papers individually, and preferably before the associated lecture. (If you run into problems while reading a paper, you might want to notify me, so that I can pay some attention to it during the lectures.)

In addition, students are expected to have a thorough look the Haskell Language Report, which is the official definition of the Haskell 98 language, including a number of standard libraries that are supported.

TIP You can also download this zip file with the selected papers (approximately 3 Mb).

Selected Papers

1. Introduction

2. Monads and arrows

3. Functional Data Structures

ALERT! The two selected papers are:

4. Debugging and Profiling

5. wxHaskell and FFI

6. Advanced Classes

7. Embedded Domain Specific Languages

8. Template Haskell

9. Typing Dynamic Typing

  • [[http://www.cs.uu.nl/people/arthurb/dynamic.html[Typing Dynamic Typing (Baars, Swierstra)]]

10. Advanced Parsing Techniques

Useful links you may want to have a look at

  • The Haskell home page contains numerous links to groups, projects, people, literature, software etc.
  • Logos contains pictures you might want to use for "brightening up" your presentation

Conferences

There are a couple of important conferences in the area of functional programming, amongst which:

Other Functional Languages

  • Clean, a very efficient lazy implemented functional language from Dutch origin.
  • ML is the standard, statically typed, non-lazy functional language

Summer Schools on Advanced Functional programming

Over the years we have organised a sequence of Summer Schools on advanced Functional programming, of which the proceedings have been published by Springer in their LNCS series:

  • First International Spring School on Advanced Functional Programming Techniques, Bastad, Sweden, LNCS 925, Springer-Verlag, 1995 (editors: J. Jeuring, E. Meijer).
    • Functional Parsers by Jeroen Fokker, p. 1-23.
    • Monads for functional programming by Philip Wadler, p. 24-52.
    • The Design of a Pretty-printing Library by John Hughes, p. 52-96.
    • Functional Programming with Overloading and Higher-Order Polymorphism , Mark P. Jones, p. 97-136.
    • Programming with Fudgets by Thomas Hallgren and Magnus Carlsson, p. 137-182.
    • Constructing Medium Sized Efficient Functional Programs in Clean by Marko C.J.D. van Eekelen and Rinus J. Plasmeijer, p. 183-227.
    • Merging Monads and Folds for Functional Programming by Erik Meijer and Johan Jeuring, p. 228-266. * Programming with Algebras by Richard B. Kieburtz and Jeffrey Lewis, p. 267-307. * Graph Algorithms with a Functional Flavour by John Launchbury, p. 308-331.
  • Advanced Functional Programming , Second International Summer School on Advanced Functional Programming Techniques, Evergreen State College, WA, USA, LNCS 1126, Springer-Verlag, 1996 (editors: J. Launchbury, E. Meijer, T. Sheard).
    • Composing the User Interface with Haggis by Sigbjorn Finne and Simon Peyton Jones, p. 1-37.
    • Haskore Music Tutorial by Paul Hudak, p. 38-67.
    • Polytypic Programming by Johan Jeuring and Patrick Jansson, p. 68-114.
    • Implementing Threads in Standard ML by Peter Lee, p. 115-130.
    • Functional Data Structures by Chris Okasaki, p. 131-158.
    • Heap Profiling for Space Efficiency by Colin Runciman and Niklas Röjemo, p. 159-183.
    • Deterministic, Error-Correcting Combinator Parsers by S. Doaitse Swierstra and Luc Duponcheel, p. 184-207.
    • Essentials of Standard ML Modules by Mads Tofte, p. 208-238.
  • Advanced Functional Programming, Third International School, AFP'98 , in Braga, Portugal from 12th to 19th September 1998, LNCS 1608, Springer-Verlag, 1999 (editors: D. Swierstra, P. Henriques and J. Oliveira).
    • Sorting Morphisms ,Lex Augusteijn (Philips Research Laboratories, the Netherlands)
    • Generic Programs - An Introduction - ,Roland Backhouse (Eindhoven University) and Patrik Jansson (Chalmers University of Technology) and Johan Jeuring (Utrecht University) and Lambert Meertens (CWI and Utrecht University)
    • Designing and Implementing Combinator Languages ,Doaitse Swierstra (Utrecht University) and Pablo Azero (Utrecht University) and Joao Saraiva (Utrecht and Minho University)
    • Functional Scripting ,Erik Meijer and Daan Leijen (Utrecht University)
    • CAYENNE - A Language With Dependent Types ,Lennart Augustsson (Chalmers University of Technology)
    • Generic Program Transformation ,Oege de Moor and Ganesh Sittampalan (Oxford University)
    • Using MetaML? : A Staged Programming Language, Tim Sheard (Oregon Graduate Institute)
  • Advanced Functional Programming, Fourth International School, AFP'02, in Oxford, UK from 19th to 24h August 2002, LNCS 2638, Springer-Verlag, 2003 (editors: Johan T. Jeuring, Simon Peyton Jones).