# Rabbit: A Compiler for Scheme/References

[Page 123]
113 References [Aho, Johnson, and Ullman] '
Aho, A.V., Johnson, S.C., and Ullman, J.D. "Code Generation for Expressions with Common Subexpressions." J. ACM 24, 1 (January 1977), 146-160.
[Allen and Cocke] Allen, Frances E., and Cocke, John. "A Catalogue of Optimizing Transformations." In Rustin, Randall (ed.), Design and Optimization of Compilers. Proc. Courant Comp. Sci. Symp. 5. Prentice-Hall (Englewood Cliffs, N.J., 1972).
[Bobrow and wegbreit] Bobrow, Daniel G. and Wegbreit, Ben. "A Model and Stack Implementation of Multiple Environments." CACM 16, 10 (October 1973) pp. 591-603.
[Carter] Carter, J. Lawrence. "A Case Study of a New Code Generation Technique for Compilers." Comm. ACM 20, 12 (December 1977), 914-920.
[Church] Church, Alonzo. The Calculi of Lambda Conversion. Annals of Mathematics Studies Number 6. Princeton University Press (Princeton, 1941). Reprinted by Klaus Reprint Corp. (New York, 1965).
[Coleman] Coleman, Samuel S. JANUS: A Universal Intermediate Language. Ph.D.
- thesis. University of Colorado (1974).
[DEC] Digital Equipment Corporation. DecSystem 10 Assembly Language Handbook (third edition). (Maynard, Mass., 1973).
[Declarative] Steele, Guy Lewis Jr. LAMBDA: The Ultimate Declarative. AI Memo 379.
MIT Al Lab (Cambridge, November 1976).
[Dijkstra] Dijkstra, Edsger W. A Discipline of Programming. Prentice-Hall (Englewood Cliffs, N.J., 1976).
[Doyle] Doyle, Jon, de Kleer, Johan, Sussman, Gerald Jay, and Steele, Guy L.
Jr. "AMORD: A Dependency-Based Problem-Solving Language." Submitted to the 1977 SIGART/SIGPLAN Artificial Intelligence and Programming Languages Conference.
[Geschke] Geschke, Charles M. Global Program Optimizations. Ph.D. thesis.
Carnegie-Mellon University (Pittsburgh, October 1972).
[Page 124]
114_ [Gries] Gries, David. Compiler Construction for Digital Computers. John Wiley & Sons (New York, 1971), 252-257.
[Hewitt] Hewitt, Carl. "Viewing Control Structures as Patterns of Passing Messages." AI Journal 8, 3 (June 1977), 323-364.
[Hewitt and Smith] Hewitt, Carl, and Smith, Brian. "Towards a Programming Apprentice."
IEEE Transactions on Software Engineering SE-1, 1 (March 1975), Z6-45.
[Imperative] Steele, Guy Lewis Jr., and Sussman, Gerald Jay. LAMBDA: The Ultimate Imperative. AI Memo 353. MIT AI Lab (Cambridge, March 1976).
[Johnsson] Johnsson, Richard Karl. An Approach to Global Register Allocation.
Ph.D. Thesis. Carnegie-Mellon University (Pittsburgh, December 1975).
[Landin] Landin, Peter J. "A Correspondence between ALGOL 60 and Church's Lambda-Notation." CACM 8, Z-3 (February and March 1965).
[LISP1.5M] » McCarthy, John, et al. LISP 1.5 Programmer's Manual. The MIT Press (Cambridge, 1962).
[McKeeman] McKeeman, W.M. "Peephole optimization." CACM 8, 7 (July 1965), 443-444.
[Moon] Moon, David A. MACLISP Reference Manual, Revision 0. Project MAC, MIT (Cambridge, April 1974).
[Moses] Moses, Joel. The Function of FUNCTION in LISP. AI Memo 199, MIT AI Lab (Cambridge, June 1970).
[Pratt] Pratt, Vaughan R. CGOL: an Alternative External Representation for LISP Users. Working Paper 121. MIT AI Lab (Cambridge, March 1976).
[Revised Report] Steele, Guy Lewis Jr., and Sussman, Gerald Jay. The Revised Report on SCHEME. MIT AI Memo 452 (Cambridge, January 1978).
[Reynolds] Reynolds, John C. "Definitional Interpreters for Higher Order Programming Languages." ACM Conference Proceedings 1972.
[Page 125]
[Sammet] [SCHEME] 115 Sammet, Jean E. Programming Languages: History and Fundamentals.
Prentice-Hall (Englewood Cliffs, N.J., 1969), 708-709.
Sussman, Gerald Jay, and Steele, Guy Lewis Jr. SCHEME: An Interpreter for Extended Lambda Calculus. AI Memo 349. MIT AI Lab (Cambridge, December 1975). I [Smith and Hewitt] Smith, Brian C. and Hewitt, Carl. A PLASMA Primer (draft). MIT AI Lab (Cambridge, October 1975).
[Standish] Standish, T.A., et al. The Irvine Program Transformation Catalogue.
University of California (Irvine, January 1976).
[Steele] [Stoy] Steele, Guy Lewis Jr. "Debunking the 'Expensive Procedure Call' Myth."
Proc. ACM National Conference (Seattle, October 1977),153-162.
Revised as MIT AI Memo 443 (Cambridge, October 1977).
Stoy, Joseph E. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory; MIT Press (Cambridge, 1977).
[Teitelman] Teitelman, Warren. InterLISP Reference Manual. Revised edition.
Xerox Palo Alto Research Center (Palo Alto, 1975).
[wand and Friedman] [Wulf] wand, Mitchell, and Friedman, Daniel P. Compiling Lambda Expressions Using Continuations. Technical Report 55. Indiana University (Bloomington, October 1976).
Wulf, william A., et al. The Design of an Optimizing Compiler.
American Elsevier (New York, 1975).
[Page 126]