Synopsis
This volume contains the revised lecture notes corresponding to nine of the lecturecoursespresentedatthe5thInternationalSchoolonAdvancedFunctional Programming, AFP 2004, held in Tartu, Estonia, August 14-21, 2004. The goal of the AFP schools is to inform the wide international communities of computer science students and software production professionals about the new and important developments in the area of functional programming. The schools put a special emphasis on practical applications of advanced techniques. The Tartu school was preceded by four earlier schools in B? astad, Sweden (1995, LNCS 925), Olympia, WA, USA (1996, LNCS 1129), Braga, Portugal (1998, LNCS 1608) and Oxford, UK (2002, LNCS 2638). The scienti?c programme of AFP 2004 consisted of ?ve preparatory ("- termediate") courses, given by John Hughes (Chalmers University of Techn- ogy, Goteb ¨ org, Sweden), Doaitse Swierstra (Universiteit Utrecht, The Neth- lands)andRinusPlasmeijer(RadboudUniversiteitNijmegen,TheNetherlands), and nine regular ("advanced") courses, presented by Atze Dijkstra (Universiteit Utrecht, The Netherlands), Doaitse Swierstra, John Hughes, Conor McBride (University of Nottingham, UK), Alberto Pardo (Universidade de la Republica, ´ Montevideo, Uruguay), Rinus Plasmeijer, Bernard Pope (University of M- bourne, Australia), Peter Thiemann (Universit¨ at Freiburg, Germany), and - mon Thompson (University of Kent, UK). There was also a student session. The school attracted a record number of 68 participants from 16 countries (inclusive of the lecturers and organizers).
Synopsis
This tutorial book presents nine carefully revised lectures given at the 5th International School on Functional Programming, AFP 2004, in Tartu, Estonia in August 2004. The book presents the following nine, carefully cross-reviewed chapters, written by leading authorities in the field: Typing Haskell with an Attribute Grammar, Programming with Arrows, Epigram: Practical Programming with Dependent Types, Combining Datatypes and Effects, GEC: a toolkit for Generic Rapid Prototyping, A Functional Shell that Operates on Typed and Compiled Applications, Declarative Debugging with Buddha, Server-Side Web Programming in WASH, and Refactoring Functional Programs.
"About this title" may belong to another edition of this title.