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


    Date: 18 Nov 1986 1257-PST (Tuesday)
    From: wile@ISI-VAXA

    I believe inclusion of packages is the worst mistake in Common LISP's
    design.  There isn't a day goes by (when I actually get to program or
    debug) when I don't have package problems....
    I am looking for conventions that make packages easier to live with.

I am surprised that you have not noticed that Common Lisp does NOT require the
programmer to use packages.  The only packages Common Lisp requires you to
know about are USER, LISP, and KEYWORD.  You can ignore the distinction
between USER and LISP, and pretend that KEYWORD symbols are just symbols with
colons in their names, and get along just fine.  Of course you don't get any
of the benefits of packages this way, but you don't get any of the problems,
either.  Another way to look at it is that Common Lisp contains the
Maclisp/Interlisp one-symbol-namespace dialect as a subset.

I do not mean by this comment to stifle anyone's research into better
modularity facilities for Lisp than packages.  I am confident that something
better will eventually be invented, developed, and tempered in the fire of
real-life use.  Several promising ideas have already come forth (starting at
least 22 years ago, actually).  If any of those ideas are so well-developed
and problem-free that they are ready for universal adoption, I haven't heard
about it yet, but I'm sure it's bound to happen eventually.