Определение функции встроенных модулей Clojure: def против defn - PullRequest
9 голосов
/ 04 ноября 2011

Почему некоторые (многие) встроенные функции Clojure определены с использованием def, а не defn?

Я знаю, что defn - это сокращение для def, но яинтересно, есть ли какая-то другая причина, такая как эффективность / удобочитаемость / соображения стиля / начальная загрузка.

1 Ответ

16 голосов
/ 04 ноября 2011

Читайте дальше в clojure / core.clj - defn еще не существует наверху, потому что этот файл строит язык, как он есть. После нескольких сотен строк defn записывается , а функции после этого определяются с помощью defn.

...