[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
The variables +, -, *, and /
- To: FAHLMAN@C.CS.CMU.EDU
- Subject: The variables +, -, *, and /
- From: Tim McNerney <TIM@MIT-MC.ARPA>
- Date: Fri, 6 Dec 85 03:30:43 EST
- Cc: common-lisp@SU-AI.ARPA, greek%bach.decnet@HUDSON.DEC.COM, smh@MIT-EMS.ARPA
- In-reply-to: Msg of Wed 4 Dec 1985 11:13 EST from Scott E. Fahlman <Fahlman at C.CS.CMU.EDU>
I realize that there are ways of working around the problems caused by this
unfortunate choice of names, but this is not the point. I am appealing, not
for seasoned Lisp hacker, but for the Lisp user experimenting with new
languages who is not familiar with, for instance, the subtleties of creating
packages which do not :use the LISP package.
The Common Lisp language is riddled with historical relics which were
preserved in the interest of making old programs like Macsyma have some hope
of being ported to Common Lisp (an example of this is the separate function
and value cell), but there is no reason to make the Top-Level Loop compatible
with Maclisp and their descendants. Furthermore, to reserve variable names
which admittedly do not follow the *...* convention, which are side-effected
by the Top-Level Loop, which are globally declared special, and which naive
Lisp users are likely to try use in their programs, seems inexcusable.
If Common Lisp were not supposed to be an excellent language for developing
new languages, I would not be nearly so disappointed.
P.S. Incidentally, please, please, let us not stumble into another discussion
about the pros and cons of separate function and value cells.
Date: Wed, 4 Dec 1985 11:13 EST
From: Scott E. Fahlman <Fahlman at C.CS.CMU.EDU>
We thought brielfly about such issues and decided that we would quickly go
mad if we tried to avoid stepping on symbols (or ways of using them) for
every other Lisp-like language. That's why there are packages. The
Common Lisp top-level will not mess around with the value of SCHEME:*,
etc. Customize the scheme symbols any way you want, and import from
the LISP package those things that happen to be right.