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