Research papers and publications

A Consistent Semantics of Self-Adjusting Computation.  Umut A. Acar, Matthias Blume, and Jacob Donham. Submitted.

Principal Type Schemes for Modular Programs.  Derek Dreyer and Matthias Blume. Submitted

Sound and Complete Models of Contracts.  Matthias Blume and David McAllester. In Journal of Functional Programming (JFP). 16 (4&5): 375-415, 2006. Invited paper. (This is a considerably expanded version of the ICFP'04 paper.)

Extensible Programming with First-Class Cases.  Matthias Blume, Umut A. Acar and Wonseok Chae. In Proceedings of the 11th ACM SIGPLAN International Conference on Functional Programming (ICFP 2006). Portland, Oregon. Sep 18-20, 2006.

An Experimental Analysis of Self-Adjusting Computation.  Umut A. Acar, Guy E. Blelloch, Matthias Blume, Kanat Tangwongsan. In Proceedings of the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI). Ottawa, Canada, Jun 10-16, 2006.

Contracts as Pairs of Projections.  Robert Bruce Findler and Matthias Blume. In Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS). Fuji Susono, Japan, 2006. Appeared in Lecture Notes in Computer Science (LNCS), Volume 3945, 2006. An expanded version with full proofs of the theorems is available as UofC CS Technical Report TR-2006-01 (This supersedes an earlier version of the same report.).

A Library for Self-Adjusting Computation.  Umut Acar, Guy Blelloch, Matthias Blume, Robert Harper, and Kanat Tangwongsan. In The 2005 ACM SIGPLAN Workshop on ML. Tallinn, Estonia, Sep 29, 2005. Appeared in Electronic Notes in Theoretical Computer Science (ENTCS), Vol 148, Issue 2, Pages 127-154.

A Sound (and Complete) Model of Contracts.  Matthias Blume and David McAllester. In Proceedings of the 2004 ACM SIGPLAN International Conference on Functional Programming (ICFP'04). Snowbird, Utah, Sep 19-22, 2004.

An Investigation of Contracts as Projections.  Robert Bruce Findler, Matthias Blume, and Matthias Felleisen. U. of Chicago Computer Science Technical Report TR-2004-02. April 1, 2004

Taming the IXP Network Processor.  Lal George and Matthias Blume. In Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI '03), San Diego, California. June 9-11, 2003.

No-Longer-Foreign: Teaching an ML compiler to speak C ``natively.'' Matthias Blume. In BABEL'01: First workshop on multi-language infrastructure and interoperability, September 2001, Firenze, Italy. (Here is a slightly more detailed early draft of the same paper.)

Lambda-Choice: Using Non-deterministic Choice as Part of a Deterministic Calculus. Matthias Blume, Technical report RIMS-1283, Research Institute for Mathematical Sciences, Kyoto University, July 2000.

CMB - The SML/NJ Bootstrap Compiler.  Matthias Blume, distributed with SML/NJ since version 110.30  (This link points to an up-to-date HTML version.)

CM - The SML/NJ Compilation- and Library Manager, User Manual.  Matthias Blume, distributed with SML/NJ since version 110.20.  (This link points to an up-to-date PDF version.)

Hierarchical Modularity. Matthias Blume and Andrew W. Appel, ACM Transactions on Programming Languages and Systems, Volume 21, No. 4 (Jul. 1999).

Dependency Analysis for Standard ML. Matthias Blume, ACM Transactions on Programming Languages and Systems, Volume 21, No. 4 (Jul. 1999).

Hierarchical Modularity and Intermodule Optimization. Doctoral dissertation. Matthias Blume, Princeton University, 1997.

Hierarchical Modularity: Compilation Management for Standard ML. Matthias Blume and Andrew W. Appel, Princeton University, 1997.

Lambda-Splitting: A Higher-Order Approach to Cross-Module Optimizations. Matthias Blume and Andrew W. Appel. In Proceedings of the 1997 ACM SIGPLAN International Conference on Functional Programming (ICFP '97), pp. 112-124.
Amsterdam, The Netherlands. June 9-11, 1997. (Also available as Princeton University technical report CS-TR-537-96.)

Refining Hygienic Macros for Modules and Separate Compilation. Matthias Blume, ATR Technical Report TR-H-171, ATR Human Information Processing Research Laboratories, Kyoto, 1995. [abstract]

CM - A Compilation Manager for SML/NJ, User Manual. Matthias Blume, distributed with SML/NJ. (This link points to an up-to-date HTML version.)

Das LISP-Programmiersystem yaXLISP, Handbuch; Seminarbericht Nr. 107, Berlin: Sektion Mathematik der Humboldt-Universität zu Berlin, 1990. (Defended as diploma thesis in 1989.)

Streams als flexible abstrakte E/A-Schnittstelle. Unix/Mail 3/90, Carl Hanser Verlag, München, 1990.

Separate Compilation for Scheme, draft paper, unpublished.

XonX - Wie funktioniert ein Fensterprotokoll. Matthias Blume and Andreas Polze. Unix/Mail 2/92, Carl Hanser Verlag, München, 1992.