[asdf-devel] Parse a component without loading it

Faré fahree at gmail.com
Fri Jun 3 20:19:23 UTC 2011


I agree with Robert Goldman's previous reply, that it's a bad idea to
try to subvert ASDF's parse-component-form, and that you should instead
be letting ASDF do its job, then inspect the resulting SYSTEM object.

However, note that with the amount of #+sbcl #+clozure, etc.,
present in ASDF systems in the wild, it is hopeless to hope to detect
the definitive list of files in an ASDF system
by inspecting the results find-system.

If on the other hand, your system were using XCVB, you could just use
	xcvb list-files --build /foo

OK, so it doesn't work as well as I'd like, yet. But at least it's already
working better than any ASDF-based solution, and there's a future to it.

Downside, of course, is it only works if your target system has been
converted to XCVB.

(Other downside is: it currently only lists reachable dependencies of
the target you give, whereas it should iterate over all the dependencies
of all the things listed in the build you ask about. But that's fixable.)

My motto is that ASDF3 is called XCVB. I'm working to get there.
Most implementations worth supporting are fully supported already:
CCL, CLISP, SBCL, LispWorks Pro. Next will come ECL.
Partially supported include: CMUCL, SCL, Allegro (no standalone executable),
and to a lesser extent: LispWorks Personal, ECL, ABCL, XCL.
GCL at this time has compiler bugs preventing support.
MCL, Corman, Genera are not at all supported at this time,
but I have plans for gracefully degraded behavior on all but Genera.
Also whoever really cares could add support for his platform.

Note: please address any XCVB-only question to XCVB-devel.
This answer is on-topic for ASDF-devel because I think that trying to achieve
the goal "list all files in a given system" is hopeless on ASDF2,
but has a solution with XCVB.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
There is only one basic human right, the right to do as you damn well please.
And with it comes the only basic human duty, the duty to take the consequences.
	— P. J. O'Rourke




More information about the asdf-devel mailing list