21
source for clojure.core似乎假定fn*
的前存在。這個定義在哪裏? bootstrap還需要什麼(通過現有的Java類型)?這是如何組合在一起的?什麼是fn *和Clojure bootstrap如何?
也許這已被問到?我很難獲得fn*
的良好搜索結果。
更新:標題中將「bootstrap itself」更改爲「bootstrap」,因爲我不想暗示Clojure是自託管的。
source for clojure.core似乎假定fn*
的前存在。這個定義在哪裏? bootstrap還需要什麼(通過現有的Java類型)?這是如何組合在一起的?什麼是fn *和Clojure bootstrap如何?
也許這已被問到?我很難獲得fn*
的良好搜索結果。
更新:標題中將「bootstrap itself」更改爲「bootstrap」,因爲我不想暗示Clojure是自託管的。
在SRC/JVM/Clojure的/郎/ Compiler.java 46行:
static final Symbol FN = Symbol.intern("fn*");
FN *由Clojure的編譯器實現,正如其他特殊形式,我猜。
更新: 在analyzeSeq方法,6452-6353線:
if(op.equals(FN))
return FnExpr.parse(context, form, name);
請查看FnExpr類實現代碼。