Questions tagged «clojure»

Clojure是Java虚拟机(带有CLR和JavaScript版本)的现代Lisp方言。Clojure不仅仅是Java中Lisp的实现,还提供了对Java类和生态系统的访问。

13
解释C,Clojure,Python,Ruby,Scala等语言的基准测试[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 免责声明 我知道人为基准是邪恶的。它们只能在非常特定的狭窄情况下显示结果。我不认为一种语言会比另一种语言更好,因为它有一些愚蠢的知识。但是我不知道为什么结果如此不同。请在底部查看我的问题。 数学基准说明 基准测试是一种简单的数学计算,可以找到相差6的素数对(所谓的性感素数),例如,低于100的性感素数为:(5 11) (7 13) (11 17) (13 19) (17 23) (23 29) (31 37) (37 43) (41 47) (47 53) (53 59) (61 67) (67 73) (73 79) (83 89) (97 103) 结果表 在表中:计算时间(以秒为单位) 运行:除Factor以外的所有其他组件都在VirtualBox中运行(Debian不稳定的amd64来宾,Windows 7 x64主机)CPU:AMD A4-3305M Sexy primes up to: 10k 20k 30k …

19
函数式编程与Web开发相关吗?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 9天前关闭。 改善这个问题 我最近在函数式编程方面见过很多,Clojure看起来特别有趣。尽管我“理解”了它的基本描述,但我完全不知道自己将如何作为Web开发人员每天使用。我读过的很多书都集中在函数式编程的数学方面,而不是常规OO中常见的编程情况。 我的手杖弄错了吗?函数式编程是否与Web开发完全无关?如果没有,是否有“将其用于网络”的示例?

5
Emacs / Swank / Paredit的Clojure入门教程
我将移至Emacs从事Clojure / Lisp的工作。为了执行以下操作,我需要在Emacs上设置的所有信息是什么? 自动匹配/生成相应的括号 自动缩进Lisp / Clojure样式,而不是C ++ / Java样式 语法高亮 调用REPL 为了能够将一部分代码从文件加载到REPL中并进行评估。 如果在Emacs上进行设置之后,我还能够获得命令列表来获取这些信息,那将是很棒的。
87 emacs  clojure 

5
懒惰地生成排列
我正在寻找一种算法来生成集合的排列,以便可以在Clojure中列出它们的惰性列表。即,我想遍历一系列排列,在我请求之前不会计算每个排列,并且不必将所有排列立即存储在内存中。 或者,我正在寻找一种算法,给定特定集合,该算法将返回该集合的“下一个”排列,以这种方式,在其自己的输出上重复调用该函数将循环遍历原始集合的所有排列,一些订单(顺序无关紧要)。 有这样的算法吗?我见过的大多数置换生成算法都倾向于一次全部生成它们(通常是递归生成),而这些算法不能扩展到很大的集合。用Clojure(或另一种功能语言)实现可能会有所帮助,但我可以从伪代码中弄清楚。


3
匿名函数速记
对于使用缩写符号#(..)的匿名函数,我有些不了解。 以下作品: REPL> ((fn [s] s) "Eh") "Eh" 但这不是: REPL> (#(%) "Eh") 这有效: REPL> (#(str %) "Eh") "Eh" 我不明白的是为什么(#(%)“ Eh”)不起作用,同时我不需要在((fn [s] s)“ Eh”)中使用str 它们都是匿名函数,并且都采用一个参数。为什么速记符号需要功能而其他符号则不需要?


8
如何在向量中找到项目的索引?
任何想法????应该是什么?有内置的吗?完成这项任务的最佳方法是什么? (def v ["one" "two" "three" "two"]) (defn find-thing [ thing vectr ] (????)) (find-thing "two" v) ; ? maybe 1, maybe '(1,3), actually probably a lazy-seq
83 clojure 

2
Clojure中的::是什么意思?
我了解Clojure中的关键字:keyword。但是有什么::用呢?为什么看起来像具有约束力? user=> :foo :foo user=> ::foo :user/foo
83 clojure 

8
关于性能和Java互操作性:Clojure与Scala
我已经读过Clojure vs. Scala的各种论述,而我意识到两者都有自己的位置。关于将Clojure与Scala进行比较时,有一些注意事项尚未得到完整的解释: 1.)两种语言中哪一种通常更快?我意识到这从一种语言功能到另一种语言功能都会有所不同,但是对性能进行总体评估会有所帮助。例如:我知道Python字典的速度非常快。但作为一个整体,它是一个多比Java慢语。我不想和Clojure一起去解决这个问题。 2.)与Java的互操作性如何?到目前为止,我所读到的只是Scala具有本机集合类型,使其与大型Java代码库集成有点笨拙,而Clojure遵循一种简单的以Iterable / Iterator为中心的方式与Java类进行互操作。还有其他想法/细节吗? 最终,如果Clojure和Scala之间的距离足够近,我可能会同时尝试它们。关于Clojure的一件事是该语言看起来非常简单。但是话又说回来,Scala具有非常灵活的类型系统。但是,我知道Scala速度很快(基于多个个人帐户)。因此,如果Clojure的速度明显慢一些:我想早点知道。

6
建造LISP机器需要多少个原语?十,七或五?
在此站点上,他们说有10个LISP原语。这些原语是:atom, quote, eq, car, cdr, cons, cond, lambda, label, apply。 http://hyperpolyglot.wikidot.com/lisp#ten-primitives Stevey估计有七个(或五个): LISP思想纯净的一部分是:您只需要七个(或者是五个?)原语即可构建完整的计算机。 http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html 建造LISP机器的最小原语数量是多少(即可以在LISP代码上运行eval / value函数的东西)?(那是谁?) (我可以理解您可以没有atom, label and apply)

5
如何使Clojure函数采用可变数量的参数?
我正在学习Clojure,并且正在尝试定义一个函数,该函数采用可变数量的参数(可变参数函数)并将它们相加(是的,就像+过程一样)。但是,我不知道如何实现这种功能 我所能做的是: (defn sum [n1, n2] (+ n1 n2)) 当然,该功能仅采用两个参数和两个参数。请教我如何使其接受(和处理)数量不确定的参数。

5
使用命令行界面构建Clojure应用程序?
我刚开始使用Clojure(来自Ruby),我想用命令行界面构建一个小型应用程序。如何处理CL的输入/输出? 我注意到有一个clojure.contrib.command-line,但是文档很薄。 http://github.com/richhickey/clojure-contrib/blob/ffa868411cda6c617105b52b4f6f9e0f37ee8c24/src/clojure/contrib/command_line.clj

6
Android上的Clojure [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 是否可以在Clojure中编写Android应用程序?如果可以的话,有人可以建议一本好的教程或书吗?
78 android  clojure 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.