You are here:
(27 Nov 2007,
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 [[http://www.haskell.org/onlinereport/][Haskell Language Report]], which is the official definition of the Haskell 98 language, including a number of standard libraries that are supported. %T% You can also download this [[%ATTACHURL%/AFP-papers.zip][zip file]] with the selected papers (approximately 3 Mb). ---++ Selected Papers ---+++ 1. Introduction * [[http://www.md.chalmers.se/~rjmh/Papers/whyfp.html][Why Functional Programming Matters (Hughes)]] ---+++ 2. Monads and arrows * [[http://www.nomaware.com/monads/html/index.html][Tutorial: All About Monads (Newburn)]] * [[http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/][Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell (Peyton Jones)]] * Programming with arrows (John Hughes, Summer School on AFP 2004). You will receive a copy of this paper. ---+++ 3. Functional Data Structures %X% The two selected papers are: * [[http://www.informatik.uni-bonn.de/~ralf/publications/ICFP01.pdf][A Simple Implementation Technique for Priority Search Queues (Ralf Hinze)]] * [[http://www.informatik.uni-bonn.de/~ralf/publications/WGP00b.ps.gz][Memo functions, polytypically! (Ralf Hinze)]] ---+++ 4. Debugging and Profiling * [[http://www.cs.chalmers.se/~rjmh/QuickCheck/][QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs (Claessen, Hughes)]] * [[http://www.cs.kent.ac.uk/pubs/2003/1896/][Testing and Tracing Lazy Functional Programs using QuickCheck and Hat (Claessen, Runciman, Chitil, Hughes, Wallace)]] ---+++ 5. wxHaskell and FFI * [[http://www.cs.uu.nl/~daan/pubs.html][wxHaskell: A Portable and Concise GUI Library for Haskell (Leijen)]] * [[http://www.cs.uu.nl/~daan/pubs.html][The λ Abroad – A Functional Approach to Software Components (Leijen, PhD thesis)]]<br> (only Chapter 2: H/Direct: a binary language interface for Haskell) ---+++ 6. Advanced Classes * [[http://www.cse.ogi.edu/~mpj/pubs/fpca93.html][A system of constructor classes: overloading and implicit higher-order polymorphism (Mark P. Jones)]] * [[http://www.cse.ogi.edu/~mpj/pubs/fundeps.html][Type Classes with Functional Dependencies (Mark P. Jones)]] ---+++ 7. Embedded Domain Specific Languages * [[http://haskell.cs.yale.edu/yale/papers/icsr98/][Modular Domain Specific Languages and Tools (Hudak)]] * [[http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/][WASH/CGI: Server-side Web Scripting with Sessions and Typed, Compositional Forms (Thiemann)]] ---+++ 8. Template Haskell * [[http://www.haskell.org/th/#papers][Template metaprogramming for Haskell (Sheard, Peyton Jones)]] ---+++ 9. Typing Dynamic Typing * [[http://www.cs.uu.nl/people/arthurb/dynamic.html[Typing Dynamic Typing (Baars, Swierstra)]] ---+++ 10. Advanced Parsing Techniques * [[http://www.cs.uu.nl/docs/vakken/afp/Literature/LL1.pdf][Deterministic, Error-Correcting Combinator Parsers (Swierstra, Duponcheel)]] * [[http://www.cs.uu.nl/docs/vakken/afp/Literature/p224-swierstra.pdf][Polish Parsers, Step By Step (Hughes, Swierstra)]] ---++ Useful links you may want to have a look at * [[http://www.haskell.org][The Haskell home page]] contains numerous links to groups, projects, people, literature, software etc. * [[http://www.willamette.edu/~fruehr/logos/intro.html][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: * [[http://www.math.luc.edu/icfp/][International Conference on Functional Programming (ACM)]], with its [[http://portal.acm.org/dl.cfm][proceedings]] * [[http://www.macs.hw.ac.uk/~ifl03/][IFL]], of which the proceedings are published in the LNCS series. * [[http://portal.acm.org/dl.cfm][POPL: Annual Symposium on Principles of Programming Languages]] * [[http://portal.acm.org/dl.cfm][PPDP: International Conference on Principles and Practice of Declarative Programming]] * [[http://portal.acm.org/dl.cfm][Haskell Workhop]] ---+++ Other Functional Languages * [[http://www.cs.kun.nl/~clean/][Clean]], a very efficient lazy implemented functional language from Dutch origin. * [[http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/fox/mosaic/sml.html][ML]] is the standard, statically typed, non-lazy functional language ---++ Summer Schools on [[http://www.cs.uu.nl/~johanj/afp/][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, [[http://www.di.uminho.pt/afp98/][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, [[http://www.cs.uu.nl/~johanj/afp/afp4/][AFP'02]], in Oxford, UK from 19th to 24h August 2002, LNCS 2638, Springer-Verlag, 2003 (editors: Johan T. Jeuring, Simon Peyton Jones).
ore topic actions
Topic revision: r16 - 27 Nov 2007,
Haskell 98 Report
Profiling with GHC
Growing a Language
Center for ST
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding UUCS?