[asdf-devel] What do I win?

Robert Goldman rpgoldman at sift.info
Fri Oct 15 16:49:57 UTC 2010


On 10/15/10 Oct 15 -9:45 AM, Nikodemus Siivola wrote:
> On 15 October 2010 17:27, Faré <fahree at gmail.com> wrote:
> 
>> Well, if you want to use this feature, you win the right to:
>> 1- remove the cerror from asdf.lisp
>> 2- test that it actually does what you expect
>> 3- document it (or have someone else document it)
>> 4- commit it (or have me commit it) as asdf 2.137 (or whatever is the number)
> 
> Ok, I'll put this on my TODO: I think :DEPENDS-ON ((:FEATURES ...))
> would be a nice way to indicate that something is eg. only meant for
> SBCL on Linux, or whatever.

I'm going a little by memory, but IIRC the officially approved way of
doing this in ASDF is very cumbersome.

You indicate a features-based dependency and then you have to set up an
error-handler (well, effectively an error handler), using
:if-component-dep-fails to say "and if this dependency fails, ignore it."

This is difficult to write and yields system dependencies that, IMO, are
unnecessarily difficult to understand.

Personally, I always use the officially deprecated and non-declarative
#+ approach which yields system definitions that are readable by any CL
programmer.

I note, btw, that if-component-dep-fails is not documented in the
defsystem grammar, nor is it used in an example, further enhancing the
obscurity of this construct ;-)


Best,
r





More information about the asdf-devel mailing list