Book Chapter10.1007/3-540-15975-4_37
Lambda lifting: transforming programs to recursive equations
Thomas Johnsson
- 01 Jan 1985
- pp 190-203
424
TL;DR: Different ways of doing lambda lifting are presented, as well as reasons for rejecting or selecting the method used in the Lazy ML compiler.
read more
Abstract: Lambda lifting is a technique for transforming a functional program with local function definitions, possibly with free variables in the function definitions, into a program consisting only of global function (combinator) definitions which will be used as rewrite rules. Different ways of doing lambda lifting are presented, as well as reasons for rejecting or selecting the method used in our Lazy ML compiler. A functional program implementing the chosen algorithm is given.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Dissertation
Towards a practical programming language based on dependent type theory
Ulf Norell
- 01 Jan 2007
TL;DR: This thesis is concerned with bridging the gap between the theoretical presentations of type theory and the requirements on a practical programming language.
Executing a program on the MIT tagged-token dataflow architecture
Arvind,Rishiyur S. Nikhil +1 more
TL;DR: An overview of current thinking on dataflow architecture is provided by describing example Id programs, their compilation to dataflow graphs, and their execution on the TTDA, a multiprocessor architecture.
508
Transforming out timing leaks
Johan Agat
- 05 Jan 2000
TL;DR: This work presents a surprisingly simple solution to the problem of detecting timing leakages to external observers with a type system in which well-typed programs do not leak secret information directly, indirectly or through timing, and a transformation for removing timing leaks.
382
Can Dataflow Subsume Von Neumann Computing
Rishiyur S. Nikhil
- 01 Apr 1989
TL;DR: This work starts with a simple, “RISC-like” instruction set, then extends it with three instructions that give it a fine-grained, dataflow capability, and calls it P-RISC, for “Parallel RISC.”
214
•Book
Type theory and functional programming
Simon Thompson
- 01 Jan 1991
TL;DR: This book explores the role of Martin-Lof s constructive type theory in computer programming and how the theory can be successfully applied in practice.
211
References
The next 700 programming languages
TL;DR: A family of unimplemented computing languages is described that is intended to span differences of application area by a unified framework that dictates the rules about the uses of user-coined names, and the conventions about characterizing functional relationships.
676
The design and analysis of algorithms
Dexter Kozen
- 02 Jan 1992
TL;DR: Dexter Kozen, a researcher and professor at Cornell University, has written a text for graduate study of algorithms, an important reference book as well as being a useful graduate-level textbook.
498
Attribute grammars as a functional programming paradigm
Thomas Johnsson
- 01 Oct 1987
TL;DR: This paper shows how attributes in an attribute grammar can be simply and efficiently evaluated using a lazy functional language.
A New Implementation Technique for Applicative Languages
TL;DR: By using results from combinatory logic an applicative language, such as LISP, can be translated into a form from which all bound variables have been removed, and a machine is described which can efficiently execute the resulting code.
Using circular programs to eliminate multiple traversals of data
TL;DR: The transformation makes essential use of lazy evaluation and local recursion to build a circular program that, on one pass over the structure, determines the effects of the individual traversals and then combines them.
Related Papers (5)
Andrew W. Appel
- 29 Nov 1991
Neil D. Jones,Carsten Krogh Gomard,Peter Sestoft +2 more
- 01 Jan 1993
Henk Barendregt
- 30 Apr 2012