ICFP 2005 Programme

Monday, September 26

9:00 - 10:30
Invited talk
by François Pottier

The anatomy of a loop: A story of scope and control
by Olin Shivers

11:00 - 12:30
Acute: High-level programming language design for distributed computation
by Peter Sewell, James J. Leifer, Keith Wansbrough, Francesco Zappa Nardelli, Mair Allen-Williams, Pierre Habouzit and Viktor Vafeiadis

An expressive language of signatures
by Norman Ramsey, Kathleen Fisher and Paul Govereau

Recursive type generativity
by Derek Dreyer

14:30 - 16:00
Dynamic optimization for functional reactive programming using generalized algebraic data types
by Henrik Nilsson

Combining programming with theorem proving
by Chiyan Chen and Hongwei Xi

A step-indexed model of substructural state
by Amal Ahmed, Matthew Fluet and Greg Morrisett

16:30 - 18:00
AtomCaml: First-class atomicity via rollback
by Michael F. Ringenburg and Dan Grossman

Witnessing side-effects
by Tachio Terauchi and Alex Aiken

A principled approach to operating system construction in Haskell
by Thomas Hallgren, Mark P. Jones, Rebekah Leslie and Andrew Tolmach

18:00 - 18:30
Business meeting and PC chair's report

Tuesday, September 27

9:00 - 10:30
Invited talk
by Brendan Eich

Exploring partial type inference for predicative fragments of System-F
by Didier Rémy

11:00 - 12:30
Qualified types for MLF
by Daan Leijen and Andres Loeh

Type inference, principal typings, and let-polymorphism for first-class mixin modules
by Henning Makholm and J. B. Wells

High-level views on low-level representations
by Iavor Diatchki, Mark P. Jones and Rebekah Leslie

14:30 - 16:00
Scrap your nameplate (Functional pearl)
by James Cheney

Backtracking, interleaving, and terminating monad transformers (Functional pearl)
by Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman and Amr Sabry

Scrap your boilerplate with class: extensible generic functions
by Ralf Laemmel and Simon Peyton Jones

16:30 - 18:15
Continuations from Generalized Stack Inspection
by Greg Pettyjohn, John Clements, Joe Marshall, Shriram Krishnamurthi and Matthias Felleisen

Fast narrowing-driven partial evaluation for inductively sequential programs
by J. Guadalupe Ramos, Josep Silva and German Vidal

Programming contest report
by Eli Barzilay, Matthias Blume, Maurice Codik, Matthias Felleisen, Robby Findler, Matthew Flatt, Jacob Matthews, Jay McCarthy, Scott Owens, David Press, Mike Rainey, John Reppy, John Riehl, Jono Spiro, Dave Tucker and Adam Wick

Wednesday, September 28

9:00 - 10:30
Invited talk
by Robert Harper

Associated type synonyms
by Manuel M. T. Chakravarty, Gabriele Keller and Simon Peyton Jones

11:00 - 12:30
Modular verification of concurrent assembly code with dynamic thread creation and termination
by Xinyu Feng and Zhong Shao

A language-based approach to functionally correct imperative programming
by Edwin Westbrook, Aaron Stump and Ian Wehrman

A logical analysis of aliasing in imperative higher-order functions
by Martin Berger, Kohei Honda and Nobuko Yoshida

14:30 - 16:00
Monadic augment and generalised short cut fusion
by Neil Ghani, Patricia Johann, Tarmo Uustalu and Varmo Vene

PolyAML: A polymorphic aspect-oriented functional programmming language
by Daniel S. Dantas, David Walker, Geoffrey Washburn and Stephanie Weirich

Aspectual Caml: An aspect-oriented functional language
by Hideaki Tatsuzawa, Hidehiko Masuhara and Akinori Yonezawa