Daniel Colascione <address@hidden> writes:
I wouldn't call package-local nicknames "throw[ing] away" the
namespace system. The post describes a logical extension. Is your
argument that the CL namespace system (suitably extended) *allows*
people to do silly things (like :use) even though it doesn't require
that they do?
Yes, it is silly, and people do it. They will do it in Elisp if you
let them. I think unintended re-definition of short names due to
"namespace multiple inheritance" is going to be a problem for Elisp,
because ordinary Emacs users load code from MELPA. It is a lot
different than encountering the problem in C++ or something when you
are a distribution maintainer compiling binaries. Neither the R6RS
approach of throwing an error, nor clobbering the definition and
showing a warning (what some Common Lisp implementations do) that
will not be paid attention to is appropriate for what should be a
backwards-compatible package update.