Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是fn*,Clojure如何引导?_Clojure_Bootstrapping - Fatal编程技术网

什么是fn*,Clojure如何引导?

什么是fn*,Clojure如何引导?,clojure,bootstrapping,Clojure,Bootstrapping,似乎假定存在fn*。这个定义在哪里?引导还需要什么(在现有Java类型上)?这一切是如何组合起来的 也许这已经被问到了?对于fn*,我很难获得好的搜索结果 更新:将标题中的“bootstrap自身”更改为“bootstrap”,因为我不想暗示Clojure是自托管的。在src/jvm/Clojure/lang/Compiler.java 46行中: static final Symbol FN = Symbol.intern("fn*"); fn*由clojure编译器实现,我猜是其他特殊形式

似乎假定存在
fn*
。这个定义在哪里?引导还需要什么(在现有Java类型上)?这一切是如何组合起来的

也许这已经被问到了?对于
fn*
,我很难获得好的搜索结果


更新:将标题中的“bootstrap自身”更改为“bootstrap”,因为我不想暗示Clojure是自托管的。

在src/jvm/Clojure/lang/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类实现代码