| Monday, September 22 | |
| Invited Talk (chair: Peter Thiemann) | |
| 9:00 | Lazy and Speculative Execution in Computer Systems |
| Butler Lampson; Microsoft Research |
|
| 10:00 | Break |
| Session 1 (chair: Martin Sulzmann) | |
| 10:30 | Flux: FunctionaL Updates for XML |
| James Cheney; University of Edinburgh |
|
| 10:55 | Typed Iterators for XML |
| Giuseppe Castagna1 and Kim Nguyen2; 1PPS (CNRS) - Université Paris 7 - Paris, France, 2LRI - Université Paris-Sud 11 - Orsay, France |
|
| 11:20 | Break |
| Session 2 (chair: Matthew Fluet) | |
| 11:50 | Aura: A Programming Language for Authorization and Audit |
| Limin Jia, Jeffrey Vaughan, Karl Mazurak, Jianzhou Zhao, Luke Zarko,
Joseph Schorr, Steve Zdancewic; University of Pennsylvania |
|
| 12:15 | The Power of Pi |
| Nicolas Oury and Wouter Swierstra; University of Nottingham |
|
| 12:40 | Lunch break |
| Session 3 (chair: Ralf Hinze) | |
| 14:00 | Type Checking with Open Type Functions |
| Tom Schrijvers1, Simon Peyton Jones2, Manuel Chakravarty3, Martin Sulzmann4; 1K.U.Leuven, 2Microsoft Research Cambridge, 3UNSW, Sydney, 4ITU, Denmark |
|
| 14:25 | Graphic Type Constraints and Efficient Type Inference: from ML to MLF |
| Boris Yakobowski and Didier Remy; INRIA |
|
| 14:50 | Break |
| Session 4 (chair: Tim Sheard) | |
| 15:20 | A Type-Preserving Compiler in Haskell |
| Louis-Julien Guillemette and Stefan Monnier; Université de Montréal |
|
| 15:45 | Experience Report: Playing the DSL Card, A Domain Specific Language for Component Configuration |
| Mark Jones; Portland State University |
|
| 16:05 | Generic Discrimination--Sorting and Partitioning Unshared Data in Linear Time |
| Fritz Henglein; DIKU, University of Copenhagen |
|
| 16:30 | Break |
| Session 5 (chair: Norman Ramsey) | |
| 17:00 | Transactional Events for ML |
| Laura Effinger-Dean, Matthew Kehrt, Dan Grossman; University of Washington |
|
| 17:25 | Experience Report: Erlang in Acoustic Ray Tracing |
| Christian Convey1, Andrew Fredricks1, Christopher Gagner1, Douglas
Maxwell1, Lutz Hamel2; 1Naval Undersea Warfare Centers, RI, USA, 2Dept. of Computer Science and Statistics, University of Rhode Island |
|
| 17:45 | Implicitly-threaded parallelism in Manticore |
| Matthew Fluet1, Mike Rainey2, John Reppy2, Adam Shaw2; 1Toyota Technological Institute at Chicago, 2University of Chicago |
|
| 18:10 | PC chair's report |
| Tuesday, September 23 | |
| Invited Talk (chair: James Hook) | |
| 9:00 | Defunctionalized Interpreters for Higher-Order Languages |
| Olivier Danvy; University of Aarhus |
|
| 10:00 | Break |
| Session 6 (chair: Andrew Tolmach) | |
| 10:30 | Parametric Higher-Order Abstract Syntax for Mechanized Semantics |
| Adam Chlipala; Harvard University |
|
| 10:55 | Typed Closure Conversion Preserves Observational Equivalence |
| Amal Ahmed and Matthias Blume; Toyota Technological Institute at Chicago |
|
| 11:20 | Break |
| Session 7 (chair: Manuel Chakravarty) | |
| 11:50 | Write it Recursively: A Generic Framework for Optimal Path Queries |
| Akimasa Morihata, Kiminori Matsuzaki, Masato Takeichi; University of Tokyo |
|
| 12:15 | Efficient Nondestructive Equality Checking for Trees and Graphs |
| Michael D. Adams and R. Kent Dybvig; Indiana University |
|
| 12:40 | Lunch break |
| Session 8 (chair: Zhenjiang Hu) | |
| 14:00 | Functional Pearl: Streams and Unique Fixed Points |
| Ralf Hinze, University of Oxford | |
| 14:25 | Data-Flow Testing of Declarative Programs |
| Sebastian Fischer1 and Herbert Kuchen2; 1University of Kiel, 2University of Münster |
|
| 14:50 | Break |
| Session 9 (chair: Andrew Kennedy) | |
| 15:20 | Functional Translation of a Calculus of Capabilities |
| Arthur Charguéraud and François Pottier; INRIA |
|
| 15:45 | Experience Report: Paradise: A Two-Stage DSL Embedded in Haskell |
| Lennart Augustsson, Howard Mansell, Ganesh Sittampalam; Credit Suisse |
|
| 16:05 | Ynot: Reasoning with the Awkward Squad |
| Aleksandar Nanevski1, Greg Morrisett2, Avi Shinnar2, Paul Govereau2,
Lars Birkedal3; 1Microsoft Research, Cambridge, 2Harvard University, 3IT University, Copenhagen |
|
| 16:30 | Break |
| Session 10 (chair: Michael Sperber) | |
| 17:00 | A Scheduling Framework for General-Purpose Parallel Languages |
| Matthew Fluet1, Michael Rainey2, John Reppy2; 1Toyota Technological Institute at Chicago, 2University of Chicago |
|
| 17:25 | Space Profiling for Parallel Functional Programs |
| Daniel Spoonhower1, Guy E. Blelloch1, Robert Harper1, Phillip B. Gibbons2; 1Carnegie Mellon University, 2Intel Reseach Pittsburgh |
|
| 17:50 | Short Break |
| Awards and Announcements (chair: Kevin Millikin) | |
| 18:00 | ICFP 2009 Announcement |
| Phil Wadler | |
| 18:10 | Most Influential ICFP'98 Paper Award |
| Kathleen Fisher | |
| 18:20 | Report on the Eleventh ICFP Programming Contest |
|
Tim Sheard, Tim Chevalier, Chuan-kai Lin, Garrett Morris,
Emerson Murphy-Hill, Andy Gill,
John Reppy, Lars Bergstrom, Mike Rainey, Adam Shaw, Virgil Gheorghiu; Portland State University, University of Chicago |
|
| Wednesday, September 24 | |
| Invited Talk (chair: Mitchell Wand) | |
| 9:00 | Polymorphism and Page Tables--Systems Programming From a Functional Programmer's Perspective |
| Mark Jones; Portland State University |
|
| 10:00 | Break |
| Session 11 (chair: Fritz Henglein) | |
| 10:30 | Pattern Minimization Problems over Recursive Data Types |
| Alexander Krauss; TU München |
|
| 10:55 | Deciding kCFA is complete for EXPTIME |
| David Van Horn and Harry Mairson; Brandeis University |
|
| 11:20 | Break |
| Session 12 (chair: Derek Dreyer) | |
| 11:50 | HMF: Simple Type Inference for First-Class Polymorphism |
| Daan Leijen; Microsoft Research |
|
| 12:15 | FPH: First-class Polymorphism for Haskell |
| Dimitrios Vytiniotis1, Stephanie Weirich1, Simon Peyton Jones2; 1University of Pennsylvania, 2Microsoft Research |
|
| 12:40 | Lunch break |
| Session 13 (chair: Chung-chieh Shan) | |
| 14:00 | Mixin' Up the ML Module System |
| Derek Dreyer and Andreas Rossberg; MPI-SWS |
|
| 14:25 | Compiling Self-Adjusting Programs with Continuations |
| Ruy Ley-Wild1, Matthew Fluet2, Umut Acar2; 1Carnegie Mellon University, 2Toyota Technological Institute at Chicago |
|
| 14:50 | Break |
| Session 14 (chair: Henrik Nilsson) | |
| 15:20 | Flask: Staged Functional Programming for Sensor Networks |
| Geoffrey Mainland, Greg Morrisett, Matt Welsh; Harvard University |
|
| 15:45 | Experience Report: A Pure Shirt Fits Reflections on Haskell at Bluespec |
| Ravi Nanavati; Bluespec, Inc. |
|
| 16:05 | Functional Netlists |
| Sungwoo Park, Jinha Kim, Hyeonseung Im; Pohang University of Science and Technology |
|
| 16:30 | Break |
| Session 15 (chair: Kathleen Fisher) | |
| 17:00 | NixOS: A Purely Functional Linux Distribution |
| Eelco Dolstra1 and Andres Löh2; 1Delft University of Technology, 2Utrecht University |
|
| 17:25 | Experience Report: Visualizing Data through Functional Pipelines |
| David Duke1, Rita Borgo1, Colin Runciman2, Malcolm Wallace2; 1University of Leeds, UK, 2University of York, UK |
|
| 17:45 | Quotient Lenses |
| J. Nathan Foster1, Alexandre Pilkiewicz2, Benjamin C. Pierce1; 1University of Pennsylvania, 2Ecole Polytechnique |
|
| 18:10 | Closing |