[asdf-devel] output-translations documentation

Robert Goldman rpgoldman at sift.info
Fri Mar 12 16:53:22 UTC 2010


On 3/12/10 Mar 12 -10:43 AM, Faré wrote:
>>> (asdf:initialize-output-translations
>>>  `(:asdf-output-translations
>>>     (:root (,(truename *default-pathname-defaults*) :implementation-type))))
>>
>> What happens to this as the value of *default-pathname-defaults* changes
>> over time?
>>
> Well, Lisp is call-by-value, so this clearly takes the current directory
> at the time this initialization takes place.
> I think it is crazy to try to offer a :current-directory directive
> the semantics of which you'd have to specify.
> 
>> I guess I don't understand the role of the (truename
>> *default-pathname-defaults*) here.
>>
> It locates the cwd at the time of execution of this form.
> On some implementations, indeed (like CMUCL), *default-pathname-defaults*
> is #p"" by default, and you better resolve that, or have surprises.

OK, this isn't going to do what A-B-L did then, because A-B-L was
pervasive, and this will only work on the current value of
*default-pathname-defaults*.

So my original, without this, didn't work?

What's the way to make ALL the systems so that a file foo.lisp gets its
fasl into <foo.lisp directory>/<implementation>/foo.fasl ?
> 
>> Does this mean that A-O-T by default always does the equivalent of
>> *centralize-binaries* in A-B-L?
>>
> Yes. That is the default configuration indeed.
> It should be documented prominently.
> 
> If you think it's wrong, it's still time to revert this default
> before ASDF 2 is released.

I don't think that this is what anyone expects; I would think that
making centralization not be the default would be more appropriate, but
if the community feels differently, that's fine, too.
> 
>> Question:  for people who have been using ASDF-BINARY-LOCATIONS for a
>> while without a deep understanding (e.g., colleagues of mine who just
>> did what I told them to), would it be possible to provide
>>
>> (ASDF:ABL-COMPATIBILITY-MODE)
>>
>> as an alias for the former?
>>
>> That would allow an easy
>>
>> #+ASDF2
>> (ASDF:ABL-COMPATIBILITY-MODE)
>> #-ASDF2
>> (ASDF:OOS 'ASDF:LOAD-OP :ASDF-BINARY-LOCATIONS)
>>
>> in lisp init files.
>>
> That's a great idea.
> function ASDF:ASDF-BINARY-LOCATION-COMPATIBILITY-MODE
> would take keyword arguments :centralize-binaries, etc.,
> with proper defaults.
> 
> We probably also want a simple function to disable A-O-T.

OK, thanks.  I'll work on this.  But note that I still don't know how to
replicate A-B-L with *centralize-binaries* NIL.




More information about the asdf-devel mailing list