[asdf-devel] upgradability with ECL
Tobias C. Rittweiler
tcr at freebits.de
Wed Feb 24 12:02:04 UTC 2010
Current ECL HEAD comes with asdf version "1.604", but trying to load
upstreams asdf.lisp won't work because of
"A package with the name ASDF-EXTENSIONS already exists."
Indeed, CLHS DEFPACKAGE says
If one of the supplied :nicknames already refers to an existing
package, an error of type package-error is signaled.
In fact, using DEFPACKAGE for upgradability purposes is ill-conceived
from the beginning because of:
If defined-package-name already refers to an existing package, the
name-to-package mapping for that name is not changed. If the new
definition is at variance with the current state of that package, the
consequences are undefined; ...
And, e.g. the :EXPORT list changed in numerous points in past, and is
not excluded from changing in the future.
The portable venue would be not to use DEFPACKAGE but either to define a
DEFINE-PACKAGE macro on top of the functional layer yourself, or using
the functional layer directly. Mwahaha. Suckage. :-)
-T.
More information about the asdf-devel
mailing list