[asdf-devel] ASDF improvements from ECL

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Nov 10 09:48:35 UTC 2009


On Tue, Nov 10, 2009 at 3:04 AM, Faré <fahree at gmail.com> wrote:
> The problem is that you'll find no one to bless your changes, as ASDF
> does not have a clearly defined dictator, the original author having left,
> our main maintainer not having the resources to become one, and a vast
> undefined community of users not being able to provide a clear permission
> wrt making incompatible changes since it's not clear what in the
> implementation or its documentation is binding for the future and what isn't.

Understood.

> I propose you offer a patch, and convince people with lots of systems to
> try it. I'm volunteering to try your backwards-incompatible ASDF
> improvements on all the systems used at ITA. Possibly, the DWIM.hu guys
> will try it on all the systems they have, and so on. If no one complains
> (and why should they?) then your patch will be a strong candidate for
> inclusion. That automated test framework of yours is also a good thing
> to show that your changes are not harmful.

When I find time, in a week or so, I will try to produce a set of
patches for the following things:
- A new function that creates a sorted list of module dependencies
wrapping around TRAVERSE This function should produce the same result
irrespectively of what has been loaded or compiled.
- Building on that, a new file, asdf-ecl.lisp that provides new
operations for building standalone executables, fasls and other
niceties with ECL.
- A logging facility for ASDF, with a bit more cleaned up interface.
- A test operation that builds on the logging facility and which can
be completed by any test framework.

Note that my changes are *not* backwards incompatible and do *not*
change TRAVERSE, but any further change that alters the TRAVERSE
function and its output will break the first two add-ons.

Furthermore, in order to answer your question, what I expect of the
test facility is that once every framework hooks in, one is able to
write

(defsystem :my-package
 :components ((:file "my-package"))
 :in-order-to ((test-op (rt-test-op :my-package-test))))

In the mean time, one will have to resort to EQL specialized methods, though.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the asdf-devel mailing list