1

我需要一种Clojure更快地运行代码的方法。我SciTE用于几乎所有语言,包括Clojure这意味着您必须以与从命令行Clojure运行它的方式几乎相同的方式运行。我创建了一些Clojure在点击时运行文件的批处理文件<F5>

@java -cp C:\clojure-1.5.1\clojure-1.5.1.jar clojure.main %*

我的主要抱怨是运行一个Clojure文件需要将近 2 秒才能运行,这是不可接受的。我希望代码像 in 一样快地运行(编译得更快?),Clooj同时在另一个选项卡中有一个python或文件,用于实验和其他可以提供的Lisp东西。我想知道如何在不到一秒的时间内运行/评估整个文件,以便在测试某些代码是否可以在. 如果有一种方法可以从命令行评估代码,例如.SciTE
CloojSciTECommon Lispclisp -q -x "(print 'under-a-second)"

我的主要目标是不离开SciTEClojure-Lisp代码比较)并且仍然能够更快地运行代码(我说的是启动,而不是优化)。

更新:

Clojure 编译器可以从命令行评估代码(main.clj在 jar 文件中找到它),这样:

java -cp clojure-1.5.1.jar clojure.main -e "(print 'hello)"  

坏消息是它编译的表达式与前一个一样平均需要 2 秒。

4

3 回答 3

3

grenchman,它使用一个常设的 clojure 进程,然后是一个小的 OCaml 程序来向它发送命令并返回结果。

于 2013-11-13T16:26:34.393 回答
2

我自己还没试过,但你应该看看https://github.com/flatland/drip

来自自述文件:

Drip 使用了不同的策略。它使用正确的类路径和其他 JVM 选项保留一个新的 JVM,以便您可以在需要时快速连接和使用它,然后将其丢弃。Drip 对 JVM 选项进行哈希处理,并将有关如何连接到 JVM 的信息存储在以哈希值作为其名称的目录中。

于 2013-11-13T14:35:09.153 回答
0

如果您对 ClojureScript 感到满意,那么lumo是一个不错的选择。

于 2017-08-27T10:59:15.353 回答