This volume contains the papers presented at ICFP 2007, the 12th ACM SIGPLAN International Conference on Functional Programming, which took place on 1--3 October 2007 in Freiburg, Germany.
ICFP provides a forum for researchers and developers to hear the latest work on design, foundations, implementations, and uses of functional programming. The 2007 call for papers requested 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.
In addition to research papers, the 2007 call for papers also solicited short papers in a new category called the Experience Report. Unlike a normal ICFP paper, an Experience Report is intended not to add to the body of knowledge of the functional-programming community; instead, it is intended to help 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; it suffices to 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 a record number of submissions: 103 full papers and 19 Experience Reports. (The previous three years' ICFPs had received 74, 87, and 80 full papers, respectively.) As noted in the call for papers, the length limits and deadline were strictly enforced: one full paper was not considered because it was over the length limit, and one Experience Report was not considered because it was submitted after the deadline. In addition, two authors withdrew their papers during the review process. From the remaining 118 submissions, the program committee selected 26 full papers and 6 Experience Reports for presentation at the conference.
Papers submitted to ICFP 2007 were reviewed double-blind: papers were assigned and reviewed without the program committee, the external reviewers, or the program chair knowing the identities of the authors. I instituted double-blind review primarily to show infrequent and first-time submitters that ICFP's review process is intended to be as fair and objective as possible, and also to make it easier for the members of the program committee to spend the most time reviewing the best submissions, as opposed to the ones with the best-known authors. The rules for double-blind submission were lightweight and were guided by the princi-ple that double-blind review must not be allowed to compromise the quality of a submission. Authors were asked not to put their names on their submissions but were otherwise encouraged to disseminate their work as they normally would. In particular, authors who inadvertently disclosed their identities (e.g., through self-citation) were not penalized. Members of the program committee were asked not to search for their assigned submissions but were otherwise encouraged to review them as they normally would. In particular, any mem-ber of the committee could ask for reviewing help from anyone; to avoid conflicts of interest, I approved each choice. I used a simple email-based mechanism which enabled me to identify conflicts without becoming aware of which authors had written which papers.
After all decisions had been made, I asked authors what they thought of double-blind review. Those who responded were about evenly divided: a slight majority recommended that double-blind review be continued; almost all of the rest said they felt it made little difference. A small minority were opposed. Authors were nearly unanimous in saying that the details of the policy were important, and most would oppose heavy-handed policies such as have been used for other conferences.
Each of the 120 eligible submissions was reviewed by at least three members of the program committee. Each submission was also reviewed by at least one subject-matter expert; when no subject-matter expert was available from the program committee, I assigned a member of the committee to find an expert external reviewer. Some members of the committee solicited additional external reviews. In the end, 60% of the submissions received four or more reviews, and in total, the submitting authors received 478 reviews with over 280,000 words of commentary on their work.
As has become customary, all reviews were turned in well before the program-committee meeting, and I sent them to the authors, who were permitted to reply with up to 500 words per paper. In order to give advocates time to be sure that each paper was placed in its proper context, I also revealed the identities of the authors to the program committee.
To select the 32 accepted papers, the program committee met for a day and a half in Cambridge, Massachusetts. Every member of the program committee attended the meeting. During discussion, each paper's primary advocate read or summarized the authors' reply to the reviews.
In view of the record number of papers submitted, the committee decided to limit speakers to 25 minutes each, making it possible to accept a record number of papers. The committee nevertheless set a very high standard for accepted papers, and I expect that many of the rejected submissions will soon appear in other venues, or perhaps in revised form in ICFP 2008.
Declarative programming for artificial intelligence applications
In this talk, I will consider some possible extensions to existing functional programming languages that would make them more suitable for the important and growing class of artificial intelligence applications. First, I will motivate the need for these ...
Subtyping and intersection types revisited
Church's system of simple types has proven to be remarkably robust: call-by-name, call-by-need, and call-by-value languages, with or without effects, and even logical frameworks can be based on the same typing rules. When type systems become more ...
- Proceedings of the 12th ACM SIGPLAN international conference on Functional programming