重命名Clojure的特殊形式

时间:2017-09-22 01:39:54

标签: clojure naming-conventions special-form

重命名Clojure特殊表格的最佳方法是什么?

例如,如果我更喜欢def def而不是def,那么最好的方法是什么呢?

2 个答案:

答案 0 :(得分:8)

只需使用defdefn即可。你可以定义转发到底层特殊表单的宏,但它更好地使用其他人所做的相同原语。

答案 1 :(得分:4)

虽然我非常同意amalloy's answer,但看到快速而肮脏的解决方案可能会很有趣。您可以通过获取原始调用的所有参数并使用真正的Clojure版本构建另一个宏调用来转发宏调用

(defmacro defvar [& xs] `(def ~@xs))
(defmacro defun [& xs] `(defn ~@xs))