Thanks for the clear discussion.  Maybe best to just return NIL for type
always then.

This has the potential added advantage that if it causes bugs, the bugs
will /also/ appear on SBCL, which seems like the most tested configuration!

Best,
r


On 3/15/10 Mar 15 -10:32 PM, Faré wrote:
>>> Should we use :unspecific based on a whitelist of known-working
>>> implementations, or should we just avoid it altogether?
>>
>> Either of those seems OK to me.  I think a blacklist is probably wrong,
>> just because it's too hard to update.
>>
> Agreed.
> 
>> OTOH, I don't really understand the motivation in two places here:
>>
>> 1.  I don't understand the rationale for the prohibition in the CLHS
>> (probably someone from one of the implementation groups can say
>> something about this) and
>>
> For backwards-compatibility probably, the CLHS allowed implementations
> to NOT implement :unspecific. Some indeed don't (CLISP and ABCL at least).
> 
>> 2. I don't know the rationale for returning it from SPLIT-NAME-TYPE.  I
>> understand that :unspecific has different behavior under merging (which
>> is why I don't understand why it's forbidden), so it seems like one of
>> two things should be the case:
>>
>>   a.  if you can return NIL for clisp and ABCL, it should be possible
>> to return NIL for all the other implementations or
>>
>>   b.  if returning :unspecific is necessary for some implementations,
>> shouldn't returning NIL on CLISP And ABCL fail?
>>
> I think that in practice, the parent pathname always has NIL in its type,
> so that there is no difference between the merged pathname having type
> NIL or :UNSPECIFIC.
> 
>> It seems like either these pathnames are never subjected to
>> MERGE-PATHNAMES, in which case we can just always return NIL, or they
>> /are/ sometimes subjected to MERGE-PATHNAMES, in which case sometimes
>> the use of NIL instead of :unspecific will cause oddities (unless the
>> default type is always empty).
>>
> Using :UNSPECIFIC seemed like it might produce more robust code.
> But now that I realize the unportability, I don't care as much.
> 
> SBCL, CCL and LispWorks all pass janderson's tests just as well with
> either NIL or :UNSPECIFIC. Haven't counted failures in other implementations.
> 
> [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
> Director is a misnomer. You're a hoper. You put all these people together and
> you hope it all works out.  — Frank Oz, director of "Dirty Rotten Scoundrels"


_______________________________________________
asdf-devel mailing list
asdf-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to