volume 36 num be r 10 october 2001

\ . J • 1 - .

A MO/1thly Publicatio/1 of the Special l/1terest Group on Programmi/1g La/1guages

)

• • • ( J • • • • • • , 1 • • c ...,

C 1 J

~ PRE S S :...... ~ Proceedings of the 2001 ACM SIG PLAN • • ...... ·• International Conference on (ICFP'01) ....". ~ PRESS

Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming (ICFP'01)

Florence, Italy September 3-5, 2001

Sponsored by the Association for Computing Machinery Special Interest Group on Programming Languages (SIGPLAN)

with support from European Association for Programming Languages and Systems & Cybertex Table of Contents

ICFP Conference/Program Committee...... VI

ICFP Sponsors ...... VIIJ

Monday, September 3, 2001

9:00-10:00 • Invited Talk 1 A Fresh Approach to Representing Syntax with Static Binders in Functional Programming ..... 1 Andrew M . Pins (Cambridge University Computer Laboratory)

10:30-12:30. Session 1

Contification Using Dominators ...... 2 Matthew Fluet (Cornel! University), Stephen Weeks (InlerTrus/ STAR Labora/ories) Functioning without Closure: Type-Safe Customized Function Representations for Standard ML ...... 14 Allyn Dimock (Harvard University), [an Westmacott (Bos/on University), Robert Muller (Bos/on Col/ege) Franklyn Turbak (We llesley College), J. B. Wells (Herio /-Wall University) Optimizing Pattern Matching...... 26 Fabrice Le Fessant, Luc Maranget (INRIA Rocquencourt) Down with Emacs Lisp: Dynamic Scope Analysis ...... 38 Matthias Neubauer (Universitii/ Freiburg), Michael Sperber (Universi/ii/ Tüb ingen)

14:00-15:30. Session 2 Recursive Structures for Standard ML...... 50 Claudio V. Russo (Microsoft Research Lld., Cambridge) Type-Based Hot Swapping of Running Modules ...... 62 Dominic Duggan (S/evens lnstitute ofTechnology) Macros as Multi-Stage Computations: Type-Safe, Generative, Binding Macros in MacroML ... 74 Steven E. Ganz, Amr Sabry (Indiana University), Walid Taha (YaleUniversity)

16:00-17:30. Session 3 Generic Unification via Two-Level Types and Parameterized Modules ...... 86 Tim Sheard (Oregon Graduate /nslilute) Generic Validation of Structural Content with Parametric Modules ...... 98 Tyng-Ruey Chuang (Academia Sinica) A Simple Implementation Technique for Priority Search Queues ...... 110 Ralf Hinze (U/rech/ University)

Tuesday, September 4, 2001

9:00-10:00. Invited Talk 2 Bluespec - a hardware description language Lennart Augustsson (Sandburst Corp.)

v 10:30-12:30. Session 4 Developing a Stage Lighting System trom Scratch ...... 122 Michael Sperber (Universildt Tübingen) Charting Patterns on Price History...... 134 Saswat Anand, Wei-Ngan Chin, Siau-Cheng Khoo (National University ojSingapore) Real-Time FRP ...... 146 Zhanyong Wan, Walid Taha, (Yale University) Events in Haskell, and How to Implement Them...... 157 George Russell (Universitdt Bremen)

14:00-15:30. Session 5 A Dependently Typed Assembly Language ...... 169 Hongwei Xi (University ojCincinnati), Robert Harper (Carnegie Mellon University)

On Regions and Linear Types ...... 18 J David Walker, Kevin Watkins (Carnegie Mellon University) Compositional Explanation of Types and Aigorithmic Debugging of Type Errors ...... 193 OlafChitil (University ojYork)

16:00-17:00 • Session 6 Functional Array Fusion ...... 205 Manuel M. T. Chahavarty, Gabriele Keller (University ojNew South Wales) Automatic Generation of Staged Geometrie Predicates ...... 217 Aleksandar Nanevski, Guy Blelloch, Robert Harper (Carnegie Mellon University)

17:00-17:30 • Programming Contest Results

Wednesday, September 5, 2001

9:00-10:00 • Invited Talk 3 The Fastest Fourier Transform in the West Matteo Frigo (Vanu Inc. and MIT Laboratory jar Computer Science)

10:30-12:30. Session 7 A New Notation for Arrows ...... 229 Ross Paterson (City University, London) Extensible Aigebraic Datatypes with Defaults ...... 241 Matthias Zenger, Martin Oderslcy (Swiss Federallnstitute ojTechnology) Cost Recurrences for DML Programs ...... 25 3 Bernd Grobauer (University ojAarhus) Possibilities and Limitations of Call-by-Need Space Improvement...... 265 Jorgen Gustavsson, David Sands (Chalmers University ojTechnology and Goteborg University)

Author Index ...... 277

VI