私人def在clojure / clojurescript
在Clojure和clojurescript中,你可以拥有一个名为defn的defn的私有版本,但是你如何对def进行相同的处理,因为def似乎并不包含在内?
你必须添加:private true元数据键值对。 
 (def ^{:private true} some-var :value) ;; or (def ^:private some-var :value) 
第二种forms仅仅是第一种。
如果你想要一个def,下面是如何实现它
 (defmacro def- [item value] `(def ^{:private true} ~item ~value) ) 
 值得一提的是,目前在ClojureScript中不可能拥有私有的def (和defn ): https ://clojurescript.org/about/differences(在“特殊forms”下) 
 编译不会失败,但是def仍然可以访问。 
 这个谷歌小组post有关于这个话题的讨论。 显然这个请求已经被考虑过了。 根据其中一个答复, defn-被认为不是一个好主意,并决定不要用def和其他方式来维持它。