Page:AIM-379.djvu/2

From Wikisource
Jump to navigation Jump to search
This page has been proofread, but needs to be validated.

Contents

1. A Different View of LAMBDA 1
1.1. Primitive Operations in Programming Languages 1
1.2. Function Invocation: The Ultimate Imperative 2
1.3. LAMBDA as a Renaming Operator 7
1.4. An Example: Compiling a Simple Function 8
1.5. Who Pops the Return Address? 11
2. Lexical and Dynamic Binding 12
3. LAMBDA, Actors, and Continuations 16
3.1. Actors ≡ Closures (mod Syntax) 16
3.2. The Procedural View of Data Types 20
4. Some Proposed Organization for a Compiler 25
4.1. Basic Issues 25
4.2. Some Side Issues 27
5. Conclusions 29
Appendix A. Conversion to Continuation-Passing Style 30
Appendix B. Continuation-Passing with Multiple Value Return 36
Notes 39
References 42

Acknowledgements

Thanks are due to Gerald Sussman, Carl Hewitt, Allen Brown, Jon Doyle, Richard Stallman, and Richard Zippel for discussing the issues presented here and for proofreading various drafts of the document.

An earlier version of this document was submitted in April 1976 to the Department of Electrical Engineering and Computer Science at MIT in the form of a proposal for research towards a Master's Thesis.