© 1989 by British Computer Society
The Chalmers Lazy-ML Compiler
Department of Computer Science, Chalmers University of Technology, S-412 96 Goteborg, Sweden
We present the principle and pragmatics of a compiler for Lazy ML, a lazy and purely functional variant of ML, developed at Chalmers University of Technology. The aim has been to develop an implementation that enables efficient execution on today's computers. The compiler itself has been written almost entirely in Lazy ML.
We first briefly describe the Lazy ML language, in particular with respect to pattern matching, modules and separate compilation, and input/output. A programming example is given. We outline the general structure of the LML compiler and then describe in some depth the technical details of program transformation phases and the G-machine, the abstract machine underlying the implementation. Performance issues are also discussed. We describe some application programs written in LML, and the experience gained from them.
Received November 1988.
* Department of Computer Science, Chalmers University of Technology, S-412 96 Göteborg, Sweden