- Sponsor:
- sigplan
This volume contains the papers presented at ICFP 2008, the 13th ACM SIGPLAN International Conference on Functional Programming, which took place September 22-24, 2008 in Victoria, BC, Canada.
ICFP provides a forum for researchers and developers to hear the latest work on design, foundations, implementations, and uses of functional programming. The 2008 call for papers solicited submissions on topics ranging from abstraction to application, from foundations to features, and from principles to practice. ICFP welcomes all languages that encourage functional programming, including both applicative and imperative languages, as well as languages with objects and concurrency.
Besides a number of established affiliated workshops, this year ICFP welcomes a particularly exciting new companion, the Developer Tracks on Functional Programming. They are visible evidence that functional programming is taking off into the real world of computing and I am happy to welcome this latest addition to the ICFP-affiliated events.
In 2008, ICFP again solicited short experience reports, continuing a practice initiated in 2007. Unlike a regular ICFP paper, an experience report is not intended to add to the body of knowledge of the functional-programming community. Rather, it is intended to create a body of published, refereed, citable evidence that functional programming really works--or to describe what obstacles prevent it from working. For this reason, an experience report need not present novel results or conclusions; but it must provide clear and concise evidence that can be used by decision-makers. Claims and conclusions must be relevant to ICFP but need not be novel. Each experience report is labeled as such in its title, and an experience report is shorter than a full paper: four pages instead of twelve.
In response to the call for papers, the program committee received 99 submissions: 87 regular papers, 4 functional pearls, and 9 experience reports. The length limits and the deadline were strictly enforced: the submission software was set up to enforce the length limits and one regular paper was not considered because it was submitted after the deadline. Authors had the opportunity of submitting supplementary material to be examined at the discretion of the program committee members. The authors of 8 papers made use of this opportunity. Two papers were withdrawn by their authors during the review process. From the remaining 97 submissions, the program committee selected 29 regular papers, 1 functional pearl, and 5 experience reports for presentation at the conference.
Furthermore, the organizers of the 2007 ICFP programming contest were invited to submit a report for inclusion in the proceedings. This report was submitted in addition to the above 99 papers and was reviewed by members of the program committee chiefly to improve its presentation. The report was accepted subject to shepherding by a member of the program committee. The paper will not be presented at the conference. Rather, it honors the efforts involved in preparing and executing the programming contest, which serves to widely advertise the conference.
Each of the 98 eligible submissions was reviewed by at least three members of the program committee. The members of the program committee were encouraged to draw upon the expertise of external reviewers to check technical details in the submissions. However, they were obliged to read the papers themselves and build their own opinion.
The first batch of reviews was made available to the authors during a two-day author response period, where authors were permitted to reply to their reviews with up to 500 words per paper. 89 authors took advantage of this opportunity and generated 35,000 words of responses. The authors of two papers subverted the word count restriction by including a URL in their response. As there is no sensible way to prevent authors from doing so (there may be good reasons for putting a URL in a response), future reviewers will be instructed to ignore responses that attempt to stretch the 500 word limit.
After the author response period, there was a brief period of online discussion. As a result of this discussion, further reviews (by committe members as well as by external reviewers) were solicited for papers with conflicting reviews or where no expert review had been provided. Three weeks were allocated for this second round of reviewing. In the end, at least 26% of the submissions received four or more reviews, and in total, the submitting authors received 327 reviews with about 230,000 words of commentary on their work. Finally, the program committee met for a day and a half at the University of Utah in Salt Lake City, Utah, USA. All but three members of the program committee attended the meeting. Two of the three absent members participated in the discussion via telephone calls at odd local times.
Each paper under discussion was assigned a speaker, usually the primary advocate, who briefly summarized the paper, its reviews, and the authors' response, if any. Program committee members with a conflict of interest in the paper had to leave the room during its discussion.
There were two submissions by members of the program committee, one of which was accepted. Both submissions were discussed after all other papers. They were held to a higher standard than the other papers. The authors of these papers were not present during the discussion.
The program committee accepted a record number of 36 papers, reflecting the overall high quality of the submissions. To fit the program into the three days available, the committee decided to limit presenters to 25 minutes each for regular papers and functional pearls and to 20 minutes each for experience reports. The committee nevertheless set a very high standard for accepted papers, and it is expected that many of the rejected submissions will soon appear in other venues.
In addition to the contributed papers, the ICFP'08 program includes invited lectures by Olivier Danvy, Mark Jones, and Butler Lampson. The program committee invited them to speak with the goal of comple-menting the contributed presentations and enhancing the program in all dimensions, theory, practice, and application of functional programming.
Lazy and speculative execution in computer systems
The distinction between lazy and eager (or strict) evaluation has been studied in programming languages since Algol 60's call by name, as a way to avoid unnecessary work and to deal gracefully with infinite structures such as streams. It is deeply ...
Defunctionalized interpreters for programming languages
This document illustrates how functional implementations of formal semantics (structural operational semantics, reduction semantics, small-step and big-step abstract machines, natural semantics, and denotational semantics) can be transformed into each ...
Polymorphism and page tables: systems programming from a functional programmer's perspective
With features that include lightweight syntax, expressive type systems, and deep semantic foundations, functional languages are now being used to develop an increasingly broad range of complex, real-world applications. In the area of systems software, ...
Cited By
- Serrano A, Hage J, Vytiniotis D and Peyton Jones S Guarded impredicative polymorphism Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, (783-796)
-
Serrano A, Hage J, Vytiniotis D and Peyton Jones S (2018). Guarded impredicative polymorphism, ACM SIGPLAN Notices, 10.1145/3296979.3192389, 53:4, (783-796), Online publication date: 11-Jun-2018.
-
Kiselyov O, Jones S and Shan C (2010). Fun with Type Functions Reflections on the Work of C.A.R. Hoare, 10.1007/978-1-84882-912-1_14, (301-331),
- Proceedings of the 13th ACM SIGPLAN international conference on Functional programming