我想研究官方的Clojure实现。任何熟悉代码的人都可以建议从哪里开始阅读它?是否有某些部分可以更容易地理解其余部分,或者哪些部分是理解Clojure如何工作的关键?
答案 0 :(得分:10)
在那里有一些重要的想法 - 在熟悉LISP的实施之前,这可能并不明显。
因此,即使在查看Clojure代码之前,您可能还需要查看基本LISP实现的代码(在线有堆 - this is one of my favourites)。
接下来,我读了一本像Christian Quinnec的Lisp In Small Pieces(LISP)这本书book about implementing LISP compilers - 来获取范例。
就实际从Clojure来源开始而言 - 我将从eval
- here开始。
答案 1 :(得分:2)
clojurescript编译器也是一个很好的起点。
至于原始的clojure编译器,
我将从core.clojure的底部开始阅读
向上,这样你就可以看到每个部分的构建趋势
关于上面定义的功能(也尝试从上到下和
找到适合你的方法)