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

Having lots of packages with extensions.

    Date: 11 Mar 86 12:34:00 EST
    From: "BACH::GREEK" <greek%bach.decnet@hudson.dec.com>

								    I sure 
    feel uncomfortable, however, if we don't at least say that all those 
    extra packages follow some naming convention, like SYSTEM-xxx.  
    Otherwise a layered product simply does not know what names it can use 
    for its packages.

I have traversed this road before.  This doesn't work, because there is
no such thing as a "system/user" distinction in a Lisp environment.
There are many levels, and levels built on levels; there's no line
between what is the "system" and what isn't.  I've seen what happens
when you introduce such a convention: every user who produces a package
that's part of a substrate names it SYSTEM-XXX, so that "user" packages
can be built on it.  This is definitely the problem of conflict of package
names, but after seeing the same thing on many systems in many contexts,
I am convinced that there's no straightforward and satisfactory solution.

    Furthermore, if we say that there can be arbitrary packages with 
    extensions, then what the hell are we bothering to define the SYSTEM 
    package for?

Good question.  I think it's a special-case solution to a tiny bit of
the problem of conflicting package names, akin to attacking an elephant
with a BB gun, by making one reserved package name for each CL implementation.
Maybe there's a better reason and I can't reconstruct it.