good morning;
On 2010-03-17, at 14:12 , Robert Goldman wrote:
On 3/17/10 Mar 17 -4:04 AM, Juan Jose Garcia-Ripoll wrote:
This brings back one of the things I discussed long ago. TRAVERSE's behavior has to be documented and its behavior has to be specified and fixed. Either that or ASDF should stabilize a way to write extensions on top of it. I can not be hanging out there waiting for every improvement in ASDF to break our build system.
Incidentally, another thing that breaks ECL is that INPUT-FILES now has a default method with signature ((o operation) ...) That broke our default methods with signature ((o T) (c compiled-file))
With all due respect, I think taking over primary methods for ANY of the existing ASDF generic functions and classes should be proclaimed to be out of bounds for extenders.
I propose that we modify the manual (if I can figure out where! the chapter on the object model is a real mess) to specify that extenders should only define primary methods on classes they define themselves. Otherwise the ASDF maintainers reserve the right to make arbitrary changes.
Modifications to generic functions --- even generic functions whose names are exported --- for classes --- even classes whose names are exported --- should be limited to :around, :before and :after method definitions.
If this proposal meets with approval, we should try to figure out where it can live in the manual.
one would be within reason to adopt the same constraints as the language standard: only the library itself is permitted to define methods (whether primary, or qualified) exclusively on "standard" classes. 11.1.2.1.2 #19 is very stingy, but it maintains a clear interface.