English 中文(简体)
什么是Fn * 和如何是克洛朱尔靴子陷阱?
原标题:What is fn* and how does Clojure bootstrap?

"https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj" rel=“noreferr'> course for clojure.core 似乎假定存在 fn/code> 。 定义在哪里? 靴套还需要什么( 超过 Java 现有类型)?

也许已经问过这个问题了? 我很难找到 fn/code> 的良好搜索结果 。

update: 更改了标题中的“ 启动陷阱本身”, 因为我不想暗示Clojure是自我托管的 。

最佳回答

rc/jvm/clojure/lang/compiler.java 46行:

static final Symbol FN = Symbol.intern("fn*");

fn* 由 Clujure 编译者执行, 作为其他特殊的形式,我猜。

Update: in analyzeSeq method, 6452-6353 line:

    if(op.equals(FN))
        return FnExpr.parse(context, form, name);

请查看FnExpr班级执行代码

问题回答

暂无回答




相关问题
Bootstrapping a language on LLVM

I m bootstrapping a programming language compiler on top of LLVM. Currently I m mostly done writing a compiler for a subset of C which is self-compiling. When I m finished with that, I ll bootstrap ...

OS bootstraping process

I try to understand os bootstraping process. Some questions are not clear to me. One of them is : How does bootstrap code in Volume boot record know about absolute LBA address of 0 sector of patition ...

Cant put Apps on iPhone any more

Couldn t register com.mycompany.clack with the bootstrap server. Error: unknown error code. This generally means that another instance of this process was already running or is hung in the debugger....

Recipe for compiling binutils & gcc together?

According the the gcc build instructions you can build binutils concurrently with building gcc (as well as gmp,mpc,etc). Here s what that page says : If you also intend to build binutils (...