小编Ale*_*ler的帖子

你对Groovy有什么看法?

对于您的项目,您是否对Groovy有良好的体验?这个项目有多大?那语言有问题吗?你考虑过Jython,JRuby还是Clojure?

groovy clojure

12
推荐指数
3
解决办法
4758
查看次数

合并地图列表并将值组合到Clojure中的集合

作为FOO,我可以将什么功能放在最后?我玩哈希集(只对前两个值正确),conj和concat,但我知道我没有正确处理单元素与设置条件中的任何一个.

(defn mergeMatches [propertyMapList]
    "Take a list of maps and merges them combining values into a set"
    (reduce #(merge-with FOO %1 %2) {} propertyMapList))

(def in 
    (list
        {:a 1}
        {:a 2}
        {:a 3}
        {:b 4}
        {:b 5}
        {:b 6} ))

(def out
    { :a #{ 1 2 3}
      :b #{ 4 5 6} })

; this should return true
(= (mergeMatches in) out)
Run Code Online (Sandbox Code Playgroud)

处理这个问题最常用的方法是什么?

functional-programming clojure

12
推荐指数
2
解决办法
7074
查看次数

在ref中弹出PersistentQueue的惯用方法是什么?

给出ref中的PersistentQueue:

(def pq (ref clojure.lang.PersistentQueue/EMPTY))
Run Code Online (Sandbox Code Playgroud)

弹出队列并获得结果的惯用方法是什么?

我对你的批评的最好尝试:

(defn qpop [queue-ref]
    (dosync 
        (let [item (peek @queue-ref)]
          (alter queue-ref pop)
          item))
Run Code Online (Sandbox Code Playgroud)

alter返回已经弹出的队列的事务内值,因此您不能单独执行alter.

queue concurrency clojure

12
推荐指数
1
解决办法
521
查看次数

Frege是否执行尾调用优化?

尾部调用是否在Frege中进行了优化.我知道在Java和编译为JVM字节码的语言中都没有TCO,如Clojure和Scala.弗雷格怎么样?

jvm functional-programming clojure jvm-languages frege

12
推荐指数
1
解决办法
2132
查看次数

Scala中是否提供了解构输入参数?

有没有办法在Scala 中解析函数的输入参数(类似于Clojure)?

所以,而不是

scala> def f(p: (Int, Int)) = p._1
f: (p: (Int, Int))Int
Run Code Online (Sandbox Code Playgroud)

我想要这个(它不起作用):

scala> def f((p1, p2): (Int, Int)) = p1
Run Code Online (Sandbox Code Playgroud)

scala clojure

12
推荐指数
1
解决办法
4886
查看次数

如何使emacs正确缩进if-then-else在elisp中构造

当我在emacs lisp中缩进if-then-else构造时,else块不会正确缩进.我得到的是:

(defun swank-clojure-decygwinify (path)
  "Convert path from CYGWIN UNIX style to Windows style"
  (if (swank-clojure-cygwin)
      (replace-regexp-in-string "\n" "" (shell-command-to-string (concat "cygpath -w " path)))
    (path)))

其他形式没有缩进到与当时形式相同的级别.有没有明显的方法来解决这个问题?

emacs clojure

11
推荐指数
3
解决办法
2118
查看次数

Java:从最终字段可到达的对象的最终字段冻结

标题为" Core Java Concurrency "的DZone refcard 声明:

设置后,无法更改最终字段值.将对象引用字段标记为final不会阻止从该字段引用的对象稍后更改.例如,最终的ArrayList字段不能更改为不同的ArrayList,但可以在列表实例上添加或删除对象.

最终字段冻结不仅包括对象中的最终字段,还包括从这些最终字段可到达的所有对象.

我对第二个陈述并不完全清楚.这是否意味着如果我在A类类型的A类中有一个final字段,而后者又有一个Integer类型的最终字段,那么A类实例的最终字段冻结只有在最后一个字段冻结b.c已经发生之后才会完成?

public class A{

  public final B b = new B();

}

public class B{ 

  public final Integer c = 10;

}
Run Code Online (Sandbox Code Playgroud)

java concurrency

11
推荐指数
2
解决办法
2758
查看次数

如何在clojurescript中使用clojure.string/join

我有以下功能:

(defn join [a] (clojure.string/join  " " a))
Run Code Online (Sandbox Code Playgroud)

但我总是有一个错误:

Uncaught ReferenceError: clojure is not defined 
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript

11
推荐指数
1
解决办法
3717
查看次数

Clojure的规格是否与Wadler的命题相当?

Wadler写了一篇惊人的论文:作为类型的命题 - 他谈到了Howard-Curry的对应关系,你可以根据程序的类型来检查程序的行为.(对于给定的语言子集).

最近,Rich Hickey发布了Clojure规范,用于定义数据和功能规范.

这里的评论员写道:

从Wadler我们有道具≅类型,规格≅道具 - >类型ergo可以做静态规格/合同/类型检查.

我的问题是:Clojure的规格是否等同于Wadler的命题?

clojure clojure.spec

11
推荐指数
1
解决办法
394
查看次数

代码为C?

是否为C或Lisp设置了Code Koans?我用这种语言找到了Koans,但是在C或Lisp中没有人:

c lisp tdd clojure

10
推荐指数
1
解决办法
2473
查看次数