[Ecls-list] ASDF revolt
Pascal J. Bourguignon
pjb at informatimago.com
Sun Apr 11 18:19:00 UTC 2010
james anderson <james.anderson at setf.de> writes:
> if the dominant goal is to simplify, it is demonstrated, that there
> is sufficient information in package declarations to build lisp
> programs.
This is wrong. You might put enough information there, but you might
also want not or cannot put it here. Even without speaking of dynamic
dependencies. Namely, a source code for some symbols exported by a
given package may depend on a package that is not _used_ by that
package, when qualified symbols are used instead.
That's why I prefix my defpackage forms (in single package files) with a
DECLAIM declaring the packages that are used (lexically) in the file,
but that are not _used_ by the package:
(cl:in-package "COMMON-LISP-USER")
(declaim (declaration also-use-packages)
(also-use-packages "COM.INFORMATIMAGO.COMMON-LISP.ECMA048"))
(defpackage "COM.INFORMATIMAGO.COMMON-LISP.ALIASES"
...)
(in-package "COM.INFORMATIMAGO.COMMON-LISP.ALIASES")
(ecma048:generate-all-functions-in-ecma048)
Then I can have an automatic tool scanning the files, and collecting the
defpackage forms along with these declarations to generate the ASD
files.
> asdf manifests an additional goal: that system definitions
> are first-class and independent of the implementation. this is
> valuable. when you propose an alternative, please include it.
--
__Pascal Bourguignon__
More information about the ecl-devel
mailing list