Hi, I have this macro (complete file https://www.refheap.com/paste/7633):
*(*defmacro defgreeter [greeter-name] *(*let [greeter *(*make-greeter*)*] `*(*do *(*defn ~greeter-name [user-name#] *(*~greeter user-name#*)**)**)**)**)* It works as expected when make-greeter is defined like this: *(*defn make-greeter [] *(*fn [user-name] *(*str "Hello, " user-name*)**)**)* I can use it like this: *(*defgreeter hello*)* *(*hello "jarppe"*)* How ever, if I change make-greeter to this I get IllegalArgumentException: *(*defn make-greeter [] *(*let [message "hello"] *(*fn [user-name] *(*str message ", " user-name*)**)**)**)* Interestingly, this does not work either: *(*defn make-greeter [] *(*constantly "what erver"*)**)* What am I missing? -- -jarppe -- 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