Skip to content

Instantly share code, notes, and snippets.

@js-choi
Created September 10, 2010 01:07
Show Gist options
  • Save js-choi/572875 to your computer and use it in GitHub Desktop.
Save js-choi/572875 to your computer and use it in GitHub Desktop.
(defn named-rule-maker [rule-making-fn rule-type-kw]
(fn named-rule-maker [& args]
(NamedRule. (delay (apply-seq rule-making-fn args)) rule-type-kw)))
(defmacro general-defmaker [def-form description rule-type-kw fn-name & forms]
`(let [maker-var# (~def-form ~fn-name ~@forms)]
(alter-var-root maker-var# named-rule-maker ~rule-type-kw) ; Commenting this out prevents the error.
maker-var#))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment