[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.