Compilation of functional languages using flow graph analysis
- 1 February 1994
- journal article
- Published by Wiley in Software: Practice and Experience
- Vol. 24 (2) , 127-173
- https://doi.org/10.1002/spe.4380240202
Abstract
A system based on the notion of a flow graph is used to specify formally and to implement a compiler for a lazy functional language. The compiler takes a simple functional language as input and generates C. The generated C program can then be compiled, and loaded with an extensive run‐time system to provide the facility to experiment with different analysis techniques. The compiler provides a single, unified, efficient, formal framework for all the analysis and synthesis phases, including the generation of C. Many of the standard techniques, such as strictness and boxing analyses, have been included.Keywords
This publication has 23 references indexed in Scilit:
- Report on the programming language HaskellACM SIGPLAN Notices, 1992
- Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machineJournal of Functional Programming, 1992
- Implementing the evaluation transformer model of reduction on parallel machinesJournal of Functional Programming, 1991
- Performance of lazy combinator graph reductionSoftware: Practice and Experience, 1991
- The Chalmers Lazy-ML CompilerThe Computer Journal, 1989
- Statistics on graph reduction of SASL programsSoftware: Practice and Experience, 1988
- Interactive programs in a functional language: A functional implementation of an editorSoftware: Practice and Experience, 1987
- Efficient compilation of lazy evaluationACM SIGPLAN Notices, 1984
- Garbage Collection of Linked Data StructuresACM Computing Surveys, 1981
- Another algorithm for bracket abstractionThe Journal of Symbolic Logic, 1979