[asdf-devel] ASDF:OOS LOAD-OP :FORCE T and SBCL contribs

Gary King gwking at metabang.com
Mon May 11 21:28:58 UTC 2009


>> Perhaps a better solution would be to export OPERATION-FORCED and
>> TRAVERSE, so that this could be deal with where-ever is needed --
>> especially in local initialization files for systems installed in
>> read-only locations. The SBCL solution would look about the same --  
>> it
>> just would not reside inside asdf.lisp.
>>
>
> This seems like a reasonable solution.

I agree. There are probably two items here:

1. Allowing a system definer to say "don't descend into this sub- 
system" even when :force is t.

2. Allowing a system user to say "I want to force the recompilation of  
this system but not the systems on which it depends"

For #1, I'd suggest adding a slot to system that controls how force  
behaves. Ideas include

     * read-only (to mean that the system cannot be edited or  
recompiled.)
     * ignore-force (to mean, well, ignore force).

For #2, I'd suggest using

* recompile everything

     * :force t
     * :force :descend

* recompile only the current system

     * :force :system-only

Both of these seem worthwhile to me. I'd even have to implement them  
tonight if people like the idea!? (he said optimistically).

P.S. I have a vague recollection about weakly dependent systems but  
don't remember ever really understanding them. Are they part of a  
solution to this problem.


--
Gary Warren King, metabang.com
Cell: (413) 559 8738
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM * gwking on twitter









More information about the asdf-devel mailing list