我已经尝试了SBCL和Clojure,发现我喜欢Clojure的语法,但与SBCL相比,它对我来说非常慢。是否可以通过SBCL实现Clojure,还是可以实现?
我发现https://github.com/ayrnieu/disclojure可以启发我。 : - )
答案 0 :(得分:8)
Clojure旨在针对几个后端。这是一个副作用Clojure是一种托管语言,使用包含主机 philosophy设计。例如,在JVM上为Clojure编写的相同代码在未经修改的情况下运行,例如CLR也永远不会成为目标。大量的代码在Clojure for JVM和ClojureScript之间很常见,这是一个很好的奖励。
目前稳定在:
通常稳定:
我知道实验版本:
随着兴趣和时间相交,出现了更多目标。如果您想为自己喜欢的Lisp提供实现,欢迎使用补丁!建议将实现基于ClojureScript编译器,因为它最好地例证了编译器的预期开发方法。
答案 1 :(得分:2)
虽然之前的答案说明了在不同语言上托管Clojure的困难,但我认为有一种编程语言很有意思:Shen。它使用最小的45 primitive instructions,设计,因此可以轻松移植到不同的语言。它目前在CLisp,SBCL,Clojure,Scheme,Ruby,Python,Java和Javascript下运行。它似乎是ML和Lisp的混合,虽然我没有用它编程。
答案 2 :(得分:1)
有可能但是它很不可取,你会得到更快,然后它就在JVM上。
如果你想加快它的速度,可以考虑使用更高速的librar构建clojure,比如使用低级JVM表示的clojure数据和类似的东西,或编写更快的自己的库。
在JVM上快速制作clojure是棘手的但是可行的,可以探测到比SBCL的端口好得多。