Technical issues of separation in function cells and value cells (1988)

https://news.ycombinator.com/rss Hits: 3
Summary

Technical Issues of Separation in Function Cells and Value Cells by Richard P. Gabriel Lucid, Inc. and Stanford University Kent M. Pitman Symbolics, Inc. Copyright 2001 by Kent M. Pitman and Richard P. Gabriel. . 1. Preface This paper is an adaptation of a report produced for X3J13 by the authors, a technical working group engaged in standardizing Common Lisp for ANSI 2. Introduction In 1981 the emerging Common Lisp community turned to Scheme for some of its motivation and inspiration [Steele 1984]. Adopting lexical scooping proved one of the most important decisions the Common Lisp group ever made. One aspect of Scheme that was not adopted, however, was a single namespace for functions and values, along with uniform evaluation rules for expressions in function and argument positions within the language. At the 1986 ACM Conference on Lisp and Functional Programming, members of a part of the European Lisp community (called the EuLisp group) involved in the design of a Lisp dialect suggested that Common Lisp should have adopted this paradigm and that it might still be appropriate to do so. Many people in the Common Lisp community were unhappy about the proposed change. Technical, philosophical, and political arguments on both sides of the issue became quickly apparent. Since the issue is controversial, the Common Lisp community felt that the technical issues should be clearly documented before any decision was attempted. This paper addresses those technical issues. 3. Notation and Terminology We shall begin by establishing some standard terminology. Some readers may wish to skip this section and refer to it only if a question arises about some term. A function is anything that may correctly be given to the FUNCALL or APPLY function and is to be executed as code when arguments are supplied. A nonfunction is any other Lisp object. An identifier is the name of a symbol or a variable. This is not an exclusive partition: a variable can be a symbol. An identifier is essenti...

First seen: 2025-08-09 05:32

Last seen: 2025-08-09 07:32