Program
ICFP 2010 : The 15th ACM SIGPLAN International Conference on Functional Programming
Monday, September 27
Invited Talk (chair: Peter Dybjer, Chalmers University of Technology)
- 9:00 ML: Metalanguage or Object Language?
- Mike Gordon (University of Cambridge)
- 10:00 Break
Session 1 (chair: Andres Löh, Utrecht University)
- 10:30 The Gentle Art of Levitation
- Pierre-Evariste Dagand (University of Strathclyde); Conor McBride (University of Strathclyde); James Chapman (Institute of Cybernetics, Tallinn University of Technology); Peter Morris (University of Nottingham)
- 10:55 Functional Pearl: Every Bit Counts
- Dimitrios Vytiniotis (Microsoft Research); Andrew Kennedy (Microsoft Research)
- 11:20 Break
Session 2 (chair: Olivier Danvy, University of Aarhus)
- 11:50 ReCaml: Execution State as the Cornerstone of Reconfigurations
- Jérémy Buisson (UEB / Ecoles de St-Cyr Coetquidan / VALORIA); Fabien Dagnat (UEB / Institut Télécom / Télécom Bretagne)
- 12:15 Lolliproc: to Concurrency from Classical Linear Logic via Curry-Howard and Control
- Karl Mazurak (University of Pennsylvania); Steve Zdancewic (University of Pennsylvania)
- 12:40 Lunch break
Session 3 (chair: Fritz Henglein, University of Copenhagen)
- 14:00 Abstracting Abstract Machines
- David Van Horn (Northeastern University); Matthew Might (University of Utah)
- 14:25 Polyvariant Flow Analysis with Higher-ranked Polymorphic Types and Higher-order Effect Operators
- Stefan Holdermans (Vector Fabrics); Jurriaan Hage (Utrecht University)
- 14:50 Break
Session 4 (chair: Simon Peyton Jones, Microsoft Research)
- 15:20 The Reduceron Reconfigured
- Matthew Naylor (University of York); Colin Runciman (University of York)
- 15:45 Experience Report: Using Functional Programming within an Industrial Product Group: Perspectives and Perceptions
- David Scott (Citrix Systems R&D); Richard Sharp (Citrix Systems R&D); Thomas Gazagnaire (INRIA); Anil Madhavapeddy (University of Cambridge)
- 16:05 Lazy Tree Splitting
- Lars Bergstrom (University of Chicago); Matthew Fluet (Rochester Institute of Technology); Michael Rainey (University of Chicago); John Reppy (University of Chicago); Adam Shaw (University of Chicago)
- 16:30 Break
Session 5 (chair: Peter Thiemann, University of Freiburg)
- 17:00 Semantic Subtyping with an SMT Solver
- Gavin Bierman (Microsoft Research); Andrew Gordon (Microsoft Research); Catalin Hritcu (Saarland University); David Langworthy (Microsoft Corporation)
- 17:25 Logical Types for Untyped Languages
- Sam Tobin-Hochstadt (Northeastern University); Matthias Felleisen (Northeastern University)
- 17:50 PC chair's report
- 18:15 Finish
Tuesday, September 28
Invited Talk (chair: Stephanie Weirich, University of Pennsylvania)
- 9:00 TeachScheme! — A Checkpoint
- Matthias Felleisen (Northeastern University)
- 10:00 Break
Session 6 (chair: Amal Ahmed, Indiana University)
- 10:30 Higher-order Representation of Substructural Logics
- Karl Crary (Carnegie Mellon University)
- 10:55 The Impact of Higher-Order State and Control Effects on Local Relational Reasoning
- Derek Dreyer (MPI-SWS); Georg Neis (MPI-SWS); Lars Birkedal (IT University of Copenhagen)
- 11:20 Break
Session 7 (chair: Michael Hicks, University of Maryland, College Park)
- 11:50 Distance Makes the Types Grow Stronger
- Jason Reed (University of Pennsylvania); Benjamin Pierce (University of Pennsylvania)
- 12:15 Security-Typed Programming within Dependently-Typed Programming
- Jamie Morgenstern (University of Chicago); Dan Licata (Carnegie Mellon University)
- 12:40 Lunch break
Session 8 (chair: James Cheney, University of Edinburgh)
- 14:00 Combining Syntactic and Semantic Bidirectionalization
- Janis Voigtländer (University of Bonn); Zhenjiang Hu (National Institute of Informatics, Tokyo); Kazutaka Matsuda (Tohoku University, Sendai); Meng Wang (University of Oxford)
- 14:25 Matching Lenses: Alignment and View Update
- Davi M. J. Barbosa (École Polytechnique); Julien Cretin (École Polytechnique); Nate Foster (Princeton University); Michael Greenberg (University of Pennsylvania); Benjamin C. Pierce (University of Pennsylvania)
- 14:50 Bidirectionalizing Graph Transformations
- Soichiro Hidaka (National Institute of Informatics, Japan); Zhenjiang Hu (National Institute of Informatics, Japan); Kazuhiro Inaba (National Institute of Informatics, Japan); Hiroyuki Kato (National Institute of Informatics, Japan); Kazutaka Matsuda (Tohoku University, Japan); Keisuke Nakano (University of Electro-Communications, Japan)
- 15:15 Break
Session 9 (chair: Graham Hutton, University of Nottingham)
- 15:45 A Fresh Look at Programming with Names and Binders
- Nicolas Pouillard (INRIA); François Pottier (INRIA)
- 16:10 Experience Report: Growing Programming Languages for Beginning Students
- Marcus Crestani (University of Tübingen); Michael Sperber (DeinProgramm)
- 16:30 Fortifying Macros
- Ryan Culpepper (Northeastern University); Matthias Felleisen (Northeastern University)
- 16:55 Break
Session 10, Awards and Announcements (chair: Robby Findler, Northwestern University)
- 17:25 ICFP 2011 Announcement
- 17:35 Most Influential ICFP'00 Paper Award
- 17:45 Report on the Thirteenth ICFP Programming Contest
- 18:30 Finish
Wednesday, September 29
Invited Talk (chair: Umut Acar, Max Planck Institute for Software Systems)
- 9:00 Functional Parallel Algorithms
- Guy Blelloch (Carnegie Mellon University)
- 10:00 Break
Session 11 (chair: Zhenjiang Hu, National Institute of Informatics)
- 10:30 Specifying and Verifying Sparse Matrix Codes
- Gilad Arnold (University of California, Berkeley); Johannes Hölzl (Technische Universität München); Ali Sinan Köksal (Ecole Polytechnique Fédérale de Lausanne); Rastislav Bodik (University of California, Berkeley); Mooly Sagiv (Tel-Aviv University and Stanford University)
- 10:55 Regular, Shape-polymorphic, Parallel Arrays in Haskell
- Gabriele Keller (University of New South Wales); Manuel M. T. Chakravarty (University of New South Wales); Roman Leshchinskiy (University of New South Wales); Simon Peyton Jones (Microsoft Research Ltd); Ben Lippmeier (University of New South Wales)
- 11:20 Break
Session 12 (chair: James Hook, Portland State University)
- 11:50 A Certified Framework for Compiling and Executing Garbage-Collected Languages
- Andrew McCreight (Portland State University); Tim Chevalier (Portland State University); Andrew Tolmach (Portland State University)
- 12:15 Total Parser Combinators
- Nils Anders Danielsson (University of Nottingham)
- 12:40 Lunch break
Session 13 (chair: Andrew Tolmach, Portland State University)
- 14:00 Scrapping your Inefficient Engine: using Partial Evaluation to Improve Domain-Specific Language Implementation
- Edwin Brady (University of St Andrews); Kevin Hammond (University of St Andrews)
- 14:25 Rethinking Supercompilation
- Neil Mitchell
- 14:50 Break
Session 14 (chair: Matthieu Sozeau, Harvard University)
- 15:20 Program Verification Through Characteristic Formulae
- Arthur Charguéraud (INRIA)
- 15:45 VeriML: Typed Computation of Logical Terms inside a Language with Effects
- Antonis Stampoulis (Yale University); Zhong Shao (Yale University)
- 16:05 Parametricity and Dependent Types
- Jean-Philippe Bernardy (Chalmers University of Technology and University of Gothenburg); Patrik Jansson (Chalmers University of Technology and University of Gothenburg); Ross Paterson (City University London)
- 16:35 Break
Session 15 (chair: Manuel Chakravarty, University of New South Wales)
- 17:05 A Play on Regular Expressions
- Sebastian Fischer (University of Kiel); Frank Huch (University of Kiel); Thomas Wilke (University of Kiel)
- 17:30 Experience Report: Haskell as a Reagent
- Iustin Pop (Google Inc)
- 17:50 Instance Chains: Type Class Programming Without Overlapping Instances
- J. Garrett Morris (Portland State University); Mark P. Jones (Portland State University)
- 18:15 Closing
