ICFP 2009 Final Program

Monday, August 31, 2009 Tuesday, September 1, 2009 Wednesday, September 2, 2009 Invited Talk (Chair: Andrew Tolmach) Invited Talk (Chair: Graham Hutton) Invited Talk (Chair: Lennart Augustsson) 9:00 Organizing Functional Code for Parallel Execution; or, 9:00 Lambda, the Ultimate TA: Using a Proof Assistant to 9:00 Commutative Monads, Diagrams and Knots foldl and foldr Considered Slightly Harmful Teach Programming Language Foundations Dan Piponi; Industrial Light & Magic Guy L. Steele, Jr.; Sun Microsystems Benjamin . Pierce; University of Pennsylvania 10:00 Break 10:00 Break 10:00 Break Session 11 (Chair: Ralf Hinze) Session 1 (Chair: Shin-Cheng Mu) Session 6 (Chair: Xavier Leroy) 10:25 Generic Programming with Fixed Points for Mutually 10:25 Functional Pearl: La Tour ’Hano¨ı 10:25 A Universe of Binding and Computation Recursive Datatypes Ralf Hinze; Daniel Licata and Robert Harper; Carnegie Mellon University Alexey Rodriguez Yakushev1, Stefan Holdermans2, Andres 2 3 10:50 Purely Functional Lazy Non-deterministic Program- 10:50 Non-Parametric Parametricity L¨oh , Johan Jeuring ; 1Vector Fabrics B.V., 2Utrecht University, ming Georg Neis, Derek Dreyer, Andreas Rossberg; MPI-SWS 3Utrecht University, Open University of the Netherlands Sebastian Fischer1, Oleg Kiselyov2, Chung-chieh Shan3; 11:15 Break 10:50 Attribute Grammars Fly First-Class: How to do As- 1Christian-Albrechts University, 2FNMOC, 3Rutgers University Session 7 (Chair: Robby Findler) pect Oriented Programming in Haskell 11:15 Break 11:40 Finding Race Conditions in Erlang with QuickCheck Marcos Viera1, S. Doaitse Swierstra2, Wouter S. Swier- 3 Session 2 (Chair: Koen Claessen) and PULSE stra ; 1Universidad de la Republica, Montevideo, 2Utrecht University, 1 1 1 11:40 Safe Functional Reactive Programming through De- Koen Claessen , Micha lPa lka , Nicholas Smallbone , John 3Chalmers University of Technology pendent Types Hughes2, Hans Svensson2, Thomas Arts2, Ulf Wiger3; 11:15 Break 1 2 Neil Sculthorpe and Henrik Nilsson; University of Nottingham Chalmers University of Technology, Chalmers University of Technol- Session 12 (Chair: Norman Ramsey) 12:05 Causal Commutative Arrows and Their Optimization ogy and Quviq AB, 3Erlang Training and Consulting 11:40 Parallel Concurrent ML 1 2 1 Hai Liu, Eric Cheng, Paul Hudak; Yale University 12:05 Partial Memoization of Concurrency and Communica- John Reppy , Claudio V. Russo , Yingqi Xiao ; 1University 12:30 Lunch break tion of Chicago, 2Microsoft Research Session 3 (Chair: Manuel Chakravarty) Lukasz Ziarek, KC Sivaramakrishnan, Suresh Jagannathan; 12:05 A Concurrent ML Library in Concurrent Haskell 14:00 A Functional I/O System or, Fun for Freshman Kids Purdue University Avik Chaudhuri; University of Maryland, College Park Matthias Felleisen1, Robert Bruce Findler2, Matthew 12:30 Lunch break 12:30 Lunch break 3 4 1 Flatt , Shriram Krishnamurthi ; Northeastern University, Session 8 (Chair: Conor McBride) Session 13 (Chair: Kathleen Fisher) 2Northwestern University, 3University of Utah, 4Brown University 14:00 Free Theorems Involving Type Constructor Classes 14:00 Awards and Memorials: 14:25 Experience Report: Embedded, Parallel Computer- Janis Voigtl¨ander; Technische Universit¨at Dresden Most Influential ICFP’99 Paper Award (Phil Wadler) Vision with a Functional DSL 14:25 Experience Report: Haskell in the “Real World” : In Memoriam Peter Landin 1 2 Ryan R. Newton and Teresa Ko ; 1MIT, 2UCLA Writing a Commercial Application in a Lazy Func- Olivier Danvy; University of Aarhus 14:45 Runtime Support for Multicore Haskell tional Language SIGPLAN Programming Languages Achievement Simon Marlow, Simon Peyton Jones, Satnam Singh; Mi- Curt J. Sampson; Starling Software Award: Rod Burstall (Phil Wadler) crosoft Research 14:45 Beautiful Differentiation 14:25 Experience Report: OCaml for an Industrial-strength 15:10 Break Conal M. Elliott; LambdaPix Static Analysis Framework Session 4 (Chair: Amal Ahmed) 15:10 Break Pascal Cuoq and Julien Signoles; CEA LIST 15:35 Effective Interactive Proofs for Higher-Order Impera- Session 9 (Chair: Jim Hook) 14:45 Control-Flow Analysis of Function Calls and Returns tive Programs 15:35 OXenstored: An Efficient Hierarchical and Transac- by Abstract Interpretation 1 2 Adam Chlipala, Gregory Malecha, Greg Morrisett, Avraham tional Database using Functional Programming with Jan Midtgaard and Thomas P. Jensen ; 1Roskilde University, Shinnar, Ryan Wisnesky; Reference Cell Comparisons 2CNRS 16:00 Experience Report: seL4: Formally Verifying a High- Thomas Gazagnaire and Vincent Hanquez; Citrix Systems 15:10 Break Performance Microkernel 16:00 Experience Report: Using Objective Caml to De- Session 14 (Chair: Phil Wadler) 1 2 1 Gerwin Klein , Philip Derrin , Kevin Elphinstone ; 1NICTA velop Safety-Critical Embedded Tools in a Certifica- 15:35 Automatically RESTful Web Applications: Marking & UNSW, 2NICTA tion Framework Modular Serializable Continuations 1 1 1 16:20 Biorthogonality, Step-Indexing and Compiler Correct- Bruno Pagano , Olivier Andrieu , Thomas Moniot , Ben- Jay A. McCarthy; Brigham Young University 2 3 3 ness jamin Canou , Emmanuel Chailloux , Philippe Wang , 16:00 Experience Report: Ocsigen, a Web Programming 1 2 4 5 1 Nick Benton and Chung-Kil Hur ; 1Microsoft Research, Pascal Manoury , Jean-Louis Cola¸co ; Esterel Technologies, Framework 2 3 4 5 2University of Cambridge LIP6 - PPS - UPMC, LIP6 - UPMC, PPS - UPMC, Prover Tech- Vincent Balat, J´erˆome Vouillon, Boris Yakobowski; PPS - 16:45 Break nology S.A.S Universit´eParis Diderot (Paris 7), CNRS Session 5 (Chair: Stephanie Weirich) 16:20 Identifying Query Incompatibilities with Evolving 16:20 Implementing First-Class Polymorphic Delimited 17:10 Scribble: Closing the Book on Ad Hoc Documentation XML Schemas Continuations by a Type-Directed Selective CPS- 1 2 2 Tools Pierre Genev`es , Nabil Laya¨ıda , Vincent Quint ; 1CNRS, Transform 2 Matthew Flatt1, Eli Barzilay2, Robert Bruce Findler3; INRIA Tiark Rompf, Ingo Maier, Martin Odersky; EPFL 1Univ. of Utah, 2Northeastern University, 3Northwestern University 16:45 Break 16:45 Break 17:35 PC Chair’s Report Session 10 (Chair: Mark Jones) Session 15 (Chair: Daan Leijen) Andrew Tolmach; Portland State University 17:10 Report on the Twelfth ICFP Programming Contest 17:05 A Theory of Typed Coercions and its Applications 17:55 Close Andy Gill; Nikhil Swamy1, Michael Hicks2, Gavin M. Bierman1; 17:55 Close 1Microsoft Research, 2University of Maryland, College Park 17:30 Complete and Decidable Type Inference for GADTs Tom Schrijvers1, Simon Peyton Jones2, Martin Sulzmann3, 2 Dimitrios Vytiniotis ; 1Katholieke Universiteit Leuven, 2Microsoft Research, 3Intaris Software GmbH 17:55 Close