我似乎无法使旧工单无效,所以继续在这里发帖
(take-nth 0 coll) 导致(至少在Solaris上)无限空间和时间消耗
这并不是打印错误,如下代码也引发问题
(let [j 0
firstprod (apply * (doall (map #(- 1 %) (take-nth j (:props mix)))))]) ; 来自我的参数更新函数
我用jvisualvm,JVM正在做一些RNI调用 - 完全没有在运行Clojure代码
如果让它独立运行,它将耗尽所有堆空间并导致JVM崩溃
0是take-nth的无效参数
即使会产生无限的nil惰性序列,我也可以接受,即使这是错误的
但它没有这样做,它实际上破坏了JVM
这是一个棘手的破坏性错误,我花了半天时间才弄清楚发生了什么
请让某人修复它!