[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Basic Design Questions: function cells
Date: Wed, 19 Feb 86 11:24 EST
From: "Eric J. Swenson" <Swenson@CISL-SERVICE-MULTICS.ARPA>
I too don't understand the arguments of the efficiency of the function
cell concept,
I believe these arguments were comparing storing function definitions in
dedicated cells to storing them in property lists. As far as I know no
one has argued that having functions and variables in separate name spaces
leads to a more or less efficient implementation than having them in the
same name space. I could be wrong; people will argue for almost anything.
however, from the standpoint of looking at CL as a NEW
language (as opposed to a pot-pouri of all the existing Lisp dialects)
it certainly seems that CL is clutterred with pairs of functions/macros
to deal with functional and non-functional objects and that elegance has
been sacrificed in order to maintain compatibility with the various
older Lisp dialects. I take it that the overriding factor in CL
development has been compatilibity with the major Lisp dialects as
opposed to designing a new language which was more internally consistent
and conceptually elegant?
That's certainly true. At the same time, it is a matter of opinion
whether having all of the dozens of possible classes of named objects in
the same space, or each in a separate space, is more elegant. The issue
is not only variables and functions. Without going into extensions to
Common Lisp, you can also think about package names, type names, and module
names. There are powerful arguments on both sides of this issue. All
a language designer can do is pick one philosophy and then be consistent
about it.