我需要一种更快地运行Clojure
代码的方法。我对几乎所有语言都使用SciTE
,包括Clojure
,这意味着您必须运行Clojure
,就像从命令行运行它一样。我创建了一些批处理文件,该文件在点击Clojure
时运行<F5>
文件:
@java -cp C:\clojure-1.5.1\clojure-1.5.1.jar clojure.main %*
我的主要抱怨是运行Clojure
文件需要将近2秒才能运行,这是不可接受的。我希望代码在Clooj
中运行(编译速度更快?),同时在另一个选项卡中有python
或Lisp
文件用于实验和其他东西{ {1}}可以提供
我想知道SciTE
如何在不到一秒的时间内运行/评估整个文件,以便我可以在Clooj
中重现相同的内容,而不必在两者之间切换例如,测试某些代码是否可以在SciTE
中未经修改地运行。如果有一种方法可以从Common Lisp
等命令行评估代码,那将是非常棒的。
我的主要目标不是放弃clisp -q -x "(print 'under-a-second)"
(SciTE
- Clojure
代码比较)并且仍然能够更快地运行代码(我说的是启动,而不是优化)。
更新:
Clojure编译器可以从命令行评估代码(在jar文件的Lisp
中找到它),这样:
main.clj
坏消息是它编译的表达式平均为2秒,就像前一个表达式一样。
答案 0 :(得分:3)
有grenchman,它使用一个常设的clojure进程,然后是一个小的OCaml程序来发送命令并返回结果。
答案 1 :(得分:2)
我自己还没试过,但你应该看看https://github.com/flatland/drip
来自自述文件:
Drip使用不同的策略。它通过正确的类路径和其他JVM选项保留了一个新的JVM保留,因此您可以在需要时快速连接和使用它,然后将其丢弃。 Drip散列JVM选项并存储有关如何以散列值作为名称连接到JVM的信息。
答案 2 :(得分:0)
如果您对ClojureScript感到满意,那么lumo是一个很好的选择。