Some remarks:

> (defmacro make-msg-ewrapper [method-names]
maybe use [& method-names] so people can write (make-msg-wrapper a-
method-name another-method-name)

>   `(proxy [EWrapper] []
>      ~@(map
>         (fn [method-name]
>           (let [args (gensym "args")]
this line seems completely useless - you already use auto-gensym with
args# (which will be replaced by sth. like args-1), and the variable
args is actually never used

>            `(~(symbol method-name) [& args#]
method-name is already a symbol if your macro is called like above, so
replace it by ~method-name.
Is it allowed to implement all methods using a variable arg list?
Seems to me you need to match the exact argument count, which you'd
need to have as macro input or find out by reflection - but I'm not
sure about this...

>              (println ~method-name ":"
>                       (. EWrapperMsgGenerator ~(symbol method-name))
> ~@args#))))
I think you didn't understand the #-Notation - it's not meant to be
used together with unquote. Just args# should work and eval the args
at runtime as you wanted.

>         method-names)))

Hope that helps a bit,
Benjamin

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to