ICFP 2004 Program

September 19-21, 2004
Snow Bird, Utah

Sunday 19 September 2004

Tutorial: 9:00–11:00

The C-- compiler infrastructure
Norman Ramsey (Harvard University) and Simon Peyton-Jones (Microsoft Research)

Poster Session: 11:00–12:00

Invited Talk: 13:30–14:30

Galois: High assurance software (Slides (Powerpoint); Audio (mp3))
John Launchbury (Galois Connections)

Session I: 14:45–16:15

Making a fast curry: Push/enter vs eval/apply for higher-order languages
Simon Marlow (Microsoft Research), Simon Peyton Jones (Microsoft Research) 
Improving the static analysis of embedded languages via partial
David Herman, Philippe Meunier (Northeastern University)
Searching for deadlocks while debugging concurrent Haskell programs
Jan Christiansen, Frank Huch (University of Kiel)

Session II: 16:30–18:00

A type-theoretic foundation of continuations and prompts
Zena Ariola (University of Oregon), Hugo Herbelin (INRIA-Futurs), Amr Sabry (Indiana University)
Relating models of backtracking
Mitchell Wand, Dale Vaillancourt (Northeastern University)

Report on ICFP 2004 and 2005
Kathleen Fisher and Benjamin Pierce

Monday 20 September 2004

Invited talk: 9:00–10:00

What the Bubble Got Right (Essay (HTML))
Paul Graham 

Session III: 10:30–12:00

Regular expression patterns
Niklas Broberg , Andreas Farre, Josef Svenningsson (Chalmers University)
Multi-return function call
Olin Shivers, David Fisher  (Georgia Tech) 
Implementing functional logic languages using multiple threads and stores
Andrew Tolmach, Sergio Antoy, Marius Nita ( Portland State University)

Session IV: 13:30–15:00

Monadic regions
Matthew Fluet (Cornell University), Greg Morrisett (Harvard University)
Translating dependency into parametricity
Stephen Tse, Steve Zdancewic (University of Pennsylvania)
Types for path correctness of XML queries
Dario Colazzo, Giorgio Ghelli, Paolo Manghi, Carlo Sartiani (Pisa University)

Session V: 15:30–18:00

Types, potency, and impotency: Why nonlinearity and amnesia make a type system work
Peter Møller Neergaard, Harry Mairson (Brandeis University)
Numbering matters: First order canonical forms for second-order recursive Types
Nadji Gauthier, François Pottier (INRIA)
Programming contest awards presentation
Malo Denielou, Nate Foster, Vladimir Gapeyev, Michael Levin, Benjamin Pierce,  Eijiro Sumii, Stephen Tse, Dimitrios Vytiniotis, Geoff Washburn, Stephanie Weirich, Steve Zdancewic (University of Pennsylvania)

Tuesday 21 September 2004

Invited Talk: 09:00–10:00

20 years of industrial functional programming (Slides (pdf))
Ulf Wiger (Ericsson AB)

Session VI: 10:30–12:00

From process logic to program logic
Kohei Honda (Queen Mary, University of London)
Verification of safety properties for concurrent assembly code
Dachuan Yu, Zhong Shao (Yale University)
A sound (and complete) model for contracts
Matthias Blume, David McAllester (Toyota Technological Institute at Chicago)

Session VII: 13:30–15:00

A nanopass infrastructure for compiler education
Dipanwita Sarkar, Oscar Waddell, R. Kent Dybvig (Indiana University, Bloomington)
Functional morphology
Markus Forsberg, Aarne Ranta (Chalmers University)
Slideshow: Functional presentations
Robert Bruce Findler (University of Chicago) , Matthew Flatt (University of Utah)

Session VIII: 15:30–16:30

Generics for the masses
Ralf Hinze (Universität Bonn)
Scrap more boilerplate: reflection, zips, and generalised casts
Ralf Laemmel (CWI & VU, Amsterdam), Simon Peyton Jones (Microsoft Research)