[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