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

Package functions not powerful enough?

    Your message is pretty unclear, but I think that there are
adequate tools for explicitly resolving potential name conflicts.  In
the CMU Common Lisp package code, all conflict resolution is done with
standard package functions, so it is clearly doable.  Of course, as
you make arbitrarily complex changes to the namespace, the code to do
so becomes arbitrarily complex.

Although I am fairly sure that there is a simpler solution than the
one proposed, the cruftiness is a natural reflection of the mismatch
between what you want the package system to do and what it was meant
to do.  

The big problems that I see users having with the package system are
due to their inaccurate models of the real semantics of the package
system.  This is encouraged by the current language in CLTL.  One of
the biggest misconceptions is that a symbol "belongs" to its home
package.  In fact, the home package has no semantics other than
printing.  A more fundamental problem is that the package system
manipulates names, whereas users (quite reasonably) thing in terms of
managing named objects.