ACM Home Page
Please provide us with feedback. Feedback
Special forms in Lisp
Full text PdfPdf (811 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1980 ACM conference on LISP and functional programming table of contents
Stanford University, California, United States
Pages: 179 - 187  
Year of Publication: 1980
Author
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 32,   Citation Count: 15
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/800087.802804
What is a DOI?

ABSTRACT

Special forms are those expressions in the Lisp language which do not follow normal rules for evaluation. Some such forms are necessary as primitives of the language, while others may be desirable in order to improve readability, control the evaluation environment, implement abstraction and modularity, affect the flow of control, allow extended scoping mechanisms, define functions which accept a variable number of arguments, or achieve greater efficiency. There exist several long-standing mechanisms for specifying the definition of special forms: FEXPR's, NLAMBDA's and MACRO's. In this paper, the motivations for using special forms are discussed, followed by a summary of the advantages and disadvantages of employing MACRO's, FEXPR's, and NLAMBDA's as tools for their implementation. It is asserted that MACRO's offer an adequate mechanism for specifying special form definitions and that FEXPR's do not. Evidence is given which supports the author's contention that FEXPR's interfere with the correct operation of code-analyzing programs such as the compiler. Finally, it is suggested that, in the design of future Lisp dialects, serious consideration be given to the proposition that FEXPR's should be omitted from the language altogether.


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
 
3
Bernard Greenberg: Notes on the Programming Language Lisp, Student Information Processing Board, MIT, 1978.
 
4
 
5
David A. Moon: Maclisp Reference Manual, Laboratory for Computer Science, MIT, March 1974.
 
6
 
7
Guy L. Steele, Jr. and Gerald J. Sussman: The Revised Report on SCHEME, A Dialect of Lisp, AI Memo 452, Artificial Intelligence Laboratory, MIT, January 1978.
 
8
Warren Teitelman: Interlisp Reference Manual, Xerox Palo Alto Research Center, October 1978.
 
9
 
10
Jon L. White: "NIL—A Perspective", 1979 Macsyma Users' Conference Proceedings: Washington, DC; June 20-22, 1979.
 
11

CITED BY  15