[asdf-devel] Two questions

Christophe Rhodes csr21 at cantab.net
Wed Sep 30 11:50:29 UTC 2009


Faré <fahree at gmail.com> writes:

> 2009/9/30 Nick Levine <ndl at ravenbrook.com>:
>>   Maybe what you want is #+frob (:file "foo")
>>
>> Ideally not, as you'd have to remember to reload all your .asd files
>> every time you messed with features.
>>
>> If this isn't what :feature does, then what is it for?
>>
> I had never heard of it before. Looks like it's broken by design.

Well, that's one possibility.

The reason that you don't want reader conditionals for
implementation-specific files in a system description is that
compilation and loading isn't the only thing that you do to a system.
Another thing that you might do, for example, is package up the system,
whether that is as a tarball or an operating-system package (e.g. a
.deb).  To do that from within a Lisp, you need to be able to see all
the files, not just the ones that that particular lisp has *features*
for; that's what the asdf:feature dependency allows you to encode.

(This isn't just theoretical; the long-forgotten CCLANv1 that operated
as a bunch of .debs with common-lisp-controller support worked this way)

> [Nick]
>> Hmm, that's an improvement. (Otoh writing about a rapidly moving
>> target is tricky. Each time I review this it's changed.)

As far as I know, the :around output-files method way of customizing the
output location of an asdf operation has worked for many, many years.

Cheers,

Christophe




More information about the asdf-devel mailing list