标签:clojure

  • Java中是否有一个很好的数据流并发库 - java

    时间:2020-9-3

    我目前正在研究Clojure和Groovy GPars中的并发数据流模型。有没有我可以从中受益的用纯Java编写的库? 我知道我可以导入或委托给Clojure或Java,但是如果可能的话,我想要一个不错的专用Java API。 参考方案 有Akka的数据流模块。它的基础 future / promise 抽象具有专用的Java API,但数据流模块设计为可从 […]

  • Clojure Doto宏 - java

    时间:2020-9-1

    我将在.toUpperCase宏内调用doto方法,如下所示,但doto返回小写字母: (doto (java.lang.String. "clojure") (.toUpperCase)) 返回“clojure”。我进行宏扩展,并且返回值是创建的对象:(clojure.core/let [G__7359 (java.lang.Strin […]

  • Clojure中的可变序列 - java

    时间:2020-8-28

    我在clojure中有一个列表,并且(由于底层的Java库)必须修改列表(使用迭代器的remove方法)。与编写(map fn seq)的破坏性等效方法相比,是否有更优雅的方法在闭合中获得这种效果? 参考方案 Clojure列表是不可变的,因此,如果您需要可变列表,则始终可以使用Java提供的列表。 例如: user=> (import java.ut […]

  • Clojure Web应用程序的良好Web服务器/ Servlet容器? - java

    时间:2020-8-23

    我正在为我的compojure Web应用程序寻找一个好的生产Web服务器/ Servlet容器。使用compojure将Jetty或Tomcat或其他服务器用于Clojure Web应用程序的优缺点是什么?是否有将Web服务器与Clojure一起用于生产或工具的良好文档? 我希望Web服务器灵活,易于配置,并且具有有关如何配置和使用它的良好文档。 参考方案 […]

  • Clojure / Java的分布式计算框架 - java

    时间:2020-8-16

    我正在开发一个应用程序,需要在一组可能非常大的不同计算机集群上分配一组任务。 理想情况下,我希望在Clojure中使用一种非常简单,惯用的方式来执行此操作,例如就像是: ; create a clustered set of machines (def my-cluster (new-cluster list-of-ip-addresses)) ; defi […]

  • Java与Clojure的良好并发示例 - java

    时间:2020-8-16

    据说Clojure是一种使多线程编程更容易的语言。 从Clojure.org网站: Clojure简化了多线程 以几种方式进行编程。 现在,我正在寻找用Java和Clojure解决的非平凡问题,以便我可以比较/对比它们的简单性。任何人? 参考方案 我建议也看看克里斯托弗·格兰德(Christophe Grand)的thread safe blocking q […]

  • 用动态JVM语言补充JUnit测试电池 - java

    时间:2020-7-18

    我想开始将一系列详细的单元测试(大json,无法在标准Java中嵌入,进行大量bean字段检查)移植到更具表现力的语言中(例如Clojure,Groovy,Jython)。 根据我的经验,应该能够补充标准Java源代码的语言是Clojure和Groovy。 Rhino或BeanShell可能在这里使用,但是我对这些没有经验。 任何其他建议都将受到欢迎: 我的 […]

  • 将Java概念转换为Clojure - java

    时间:2020-7-16

    我对Clojure很陌生。我有一个包含布尔变量的Java方法,并且我想重写此方法以使其与Clojure中的相同功能一起使用。但是我找不到在Clojure的运行时如何将布尔值设置为true和false。 下面的代码段基本上只强调布尔值部分,对于我来说,很难以功能性的方式编写它。 int calculate(...){ int y = 0; boolean fl […]

  • Python生成器是否有`let`或`as`关键字? - python

    时间:2020-6-20

    我从Clojure进入Python,想知道是否有一种方法可以在生成器中包含“临时变量”。 在Clojure中,我可以在for生成器中使用let来命名该项目的中间计算: (def fnames ["abc1234" "abcdef" "1024"]) (for [fname fnames :let [matche […]