2011-11-03 21 views
8

Clojureの組み込み関数のうちいくつか(ではなくdef)を定義するのはなぜですか?Clojure組み込み関数の関数定義:def vs defn

私は、defのショートカットであることを知っていますが、効率/可読性/スタイルの考慮事項/ブートストラップなどの理由があるのでしょうか。

答えて

15

clojure/core.clj - defnの下に続きますが、そのファイルはそれが進むにつれて言語を構築しているため、先頭にはまだ存在しません。数百行後、defnis writtenとそれ以降の関数はdefnで定義されます。

+1

天才。言語の段階的な構築は、Clojureソースをそのような興味深い読み物にする多くのものの1つです! – mikera

関連する問題