Skip to content

Instantly share code, notes, and snippets.

@rasmusto
Created October 25, 2012 16:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rasmusto/3954024 to your computer and use it in GitHub Desktop.
Save rasmusto/3954024 to your computer and use it in GitHub Desktop.
multimethods in a macro
(defmacro defprop [multiname func kvs]
(eval
`(do
(defmulti ~multiname ~func)
~@(for [[k v] (seq kvs)]
`(defmethod ~multiname ~k [m#] ~v)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment