[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Binding, etc.

In article <10248@tektronix.TEK.COM> wilensky%larch.Berkeley.EDU@UCBVAX.BERKELEY.EDU (Robert Wilensky) writes:
>Some time ago I sent around a flame on the issue of the ``binding''
>terminology in Common LISP.  My contention is that the whole notion of
>binding as used in the LISP community is not particularly coherent.

This is certainly true of the Common Lisp community.  On the other hand,
the notion of binding used in the Revised^3 Report on the Algorithmic
Language Scheme (1986) is quite coherent.

I would warn that the word "variable" is used in even more different senses
and is even more confusing than the word "binding".  For example, the 1986
Scheme report uses the word "variable" to mean an identifier that denotes a
location, while Wilensky uses the word "variable" to mean a location itself.
It would also be good to distinguish between identifiers (which occur in
code and are typically used as variables in the Scheme sense) and symbols
(which occur in data structures and are typically used as enumerated values).
Many dialects of Lisp require that identifiers be represented internally as
symbols, but Scheme and most other programming languages do not.

Peace, William Clinger
Tektronix, Inc.