[asdf-devel] What do I win?

Pascal J. Bourguignon pjb at informatimago.com
Fri Oct 15 19:00:53 UTC 2010


Robert Goldman <rpgoldman at sift.info>
writes:

> On 10/15/10 Oct 15 -12:15 PM, Nikodemus Siivola wrote:
>> On 15 October 2010 20:03, Robert Goldman <rpgoldman at sift.info> wrote:
>> 
>>> Right.  But, honestly, I find
>>>
>>> (:module "ports"
>>>   :components
>>>        (
>>>         #+sbcl
>>>         (:file "sbcl")
>>>         #+ccl
>>>         (:file "ccl"))
>>>  ...)
>>>
>>> a lot easier to read...
>> 
>> Sure -- but it makes system-introspection limited to the
>> implementation you are currently using.
>
> I get it, but the value of such introspection seems, at the moment,
> primarily conjectural, but the bewilderment of :if-component-dep-fails
> is certain.  

Not really.  

For example, documentation generators use ASD files to as documentation
root.  It would be better if they could gather and document the various
implementation specific parts without playing game with the lisp reader.

So a nice syntax/semantics like that proposed by Daniel would be
beneficial, and could perhaps slighly promote the development of an
ecology of static analysis tools.


> Actually, I also see that the manual says that
> :if-component-dep-fails may be broken (see the object model section).
>
>> 
>> ...of course, if ASDF had comething like
>> 
>>   (:module "ports"
>>     :components
>>      (:file "sbcl" :when (feature :sbcl))
>>      (:file "ccl" :when (feature :ccl)))
>> 
>> then we'd be pretty close to best of both worlds
>
> Agreed.  This is clearly The Right Thing.  Pretty much anyone looking at
> this will know what it is intended to mean whereas, IMO, the
> :if-component-dep-fails looks like an error-handler....
>
> I think this is related to the fact that the feature "dependency" here
> is really not, intuitively, acting like a dependency (which is expected
> always to succeed).

Call it CCI for "Conditionnal Component Inclusion".  
I like better Daniel's syntax too.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/





More information about the asdf-devel mailing list