Mark <[email protected]> writes:
> I find the vast majority of the time I'm tempted to write a macro (yeah,
> yeah, I know the first rule of macro club), is to defn-like things.
> Writing a defn-like macro to handle all the stuff defn does is pretty tough
> so I end up writing a barebones thing that doesn't support doc-string,
> doesn't support multiple arities, and doesn't support metadata. I'm
> wondering, has anyone written a defdefnmacro macro?
For this, I just use defn. For example, this macro is like defn, but
also takes a function as the second argument. It composes the body with
function.
(defmacro defnwithfn [name function & body]
`(let [vr# (defn ~name ~@body)]
(alter-var-root
vr#
(fn [f#]
(fn ~name [& args#]
(apply ~function f# args#))))
vr#))
Basically, you let defn do the work, then fiddle with it after.
Phil
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.