[fetter-devel] Request for comments on new interface

Rayiner Hashem rayiner at gmail.com
Sat Oct 8 22:18:37 UTC 2005


> 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?

> 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)))

: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

>
>
> kt
>
>
>



More information about the fetter-devel mailing list