Russell, I share your frustration; Common Lisp has a lot of
idiosyncrasies and also a lot of really interesting, useful ideas, so
it's both a wonderful and terrible environment for writing code, and,
given its history, that will continue to be the case indefinitely.

My advice is just take the idiosyncrasies in stride, and work with the
hand you (well, all of us) have been dealt. I know this isn't a
satisfying conclusion.

Specifically about the :uses bit in the package definition, from
combing the CLHS I see that an explicit :uses declaration supersedes
the default, so, assuming that UIOP:DEFINE-PACKAGE doesn't change the
interpretation of :uses (although that wouldn't be entirely out of the
question), that seems to explain the observed behavior.

(I also saw in CLHS that the :uses default is explicitly
implementation-dependent, so, while :uses :common-lisp is nice, one
cannot actually rely on it ... Oh well!)

FWIW

Robert Dodier

Reply via email to