[fetter-devel] Request for comments on new interface

Kenny Tilton ktilton at nyc.rr.com
Sun Oct 9 00:07:26 UTC 2005



Rayiner Hashem wrote:

>>Funny you should mention that. I believe ASDF works the way you propose
>>allowing user specification of an alternate naming scheme: one provides
>>methods for this or that GF.
>>    
>>
>
>Yay! ASDF does it that way too.
>
>  
>
>>That seems weird and user-hostile to me.
>>    
>>
>
>Doh!
>
>  
>
>>I see a parameter such as :lisp-name factory, I think "Bingo! What are
>>the options?" ie, I know exactly where to look, even if it has been nine
>>months since I generated bindings. Then I see that :lisp-naming-factory
>>can be a function (as the name suggests) or one or two keywords
>>specifying popular translation schemes (or nil for no translation). With
>>ASDF I have to dive into the source, figure out how ASDF works, find the
>>right GF, pray that i can safely override it, and put a defmethod in
>>each ASD definition file (.asd) I want to get this special behavior. Ick.
>>    
>>
>
>Hmm. Any custom naming convention will have to understand the IR at
>some level. I see the complexity you're talking about, but I wonder if
>having to understand the IR wouldn't be a bigger source of complexity?
>
Well, this is Lisp, let's see what you come up with and live with it for 
a month.

>
>  
>
>>Howseabout making it include specific?
>>
>>    (defbinding....
>>          (include "just-me.h" ("my-tree.h" :process-nested t))
>>
>>...or just:
>>
>>    (defbinding....
>>          (include "just-me.h" ("my-tree.h" t))
>>
>>with process-nested then being like an optional parameter? We might need
>>file-specific control someday, and it saves making a new parameter. If
>>"process-nested" sounds vague, call it "bind-nested". But making
>>bindings /is/ what vzn does, so "process" works for me.
>>    
>>
>
>Hmm. How about:
>
>(defbinding
>  (include "just-me.h"
>              ("everyone.h" :bind-recursive t)
>              ("just-siblings.h" :bind-siblings t)
>              ("just-subtree.h" :bind-subtree t)))
>
Or :bind with legal values nil, :recursive, :siblings, and :subtree?

kt

>
>:bind-recursive would bind to all header files reachable from the
>given one, :bind-siblings would bind to all reachable header files in
>the same directory, and :bind-subtree would bind to all reachable
>header files in the same directory and any subdirectories thereof.
>
>Sincerely,
>    Rayiner Hashem
>  
>






More information about the fetter-devel mailing list