ACM Home Page
Please provide us with feedback. Feedback
Lambda, the ultimate label or a simple optimizing compiler for Scheme
Full text PdfPdf (1.20 MB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1994 ACM conference on LISP and functional programming table of contents
Orlando, Florida, United States
Pages: 128 - 139  
Year of Publication: 1994
ISBN:0-89791-643-3
Also published in ...
Authors
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 18,   Downloads (12 Months): 72,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/182409.156786
What is a DOI?

ABSTRACT

Optimizing compilers for higher-order languages need not be terribly complex. The problems created by non-local, non-global variables can be eliminated by allocating all such variables in the heap. Lambda lifting makes this practical by eliminating all non-local variables except for those that would have to be allocated in the heap anyway. The eliminated non-local variables become local variables that can be allocated in registers. Since calls to known procedures are just gotos that pass arguments, lifted lambda expressions are just assembly language labels that have been augmented by a list of symbolic names for the registers that are live at that label.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
AT&T Bell Laboratories. Standard ML of New Jersey system modules (version 0.93). February 15, 1993.
3
4
5
6
7
 
8
9
 
10
 
11
Lars Thomas Hansen. The Impact of Programming Style on the Performance of Scheme Programs. M.S. thesis, University of Oregon, 1992.
12
13
 
14
John Hughes. Super combinators: a new implementation method for applicative languages. Proceedings of the 1992 Symposium on Lisp and Functional Programming, pages 122-132.
 
15
16
 
17
Lightship Software, Inc. MacScheme Version 4 software and manual. Lightship Software, 1992.
18
19
 
20
Guy Lewis Steele Jr. and Gerald Jay Sussman. Lambda, the ultimate imperative. MIT Artificial Intelligence Memo 353, March 1976.
 
21
Guy Lewis Steele Jr. Lambda, the ultimate declarative. MiT Artificial Intelligence Memo 379, November 1976.
22
 
23
 
24
Guy Lewis Steele Jr. Compiler optimization based on viewing LAMBDA as RENAME + GOTO. In AI: An MIT Perspective. Patrick Henry Winston and Richard Henry Brown, editors. MIT Press, 1980.
 
25
D.A. Turner. New implementation techniques for applicative languages. Software--Practice and Experience, 9, pages 31-49, 1979.
26

CITED BY  11

Collaborative Colleagues:
William D. Clinger: colleagues
Lars Thomas Hansen: colleagues