试图使用Clojure-Contrib Graph函数

时间:2013-11-23 19:14:14

标签: clojure clojure-contrib

我无法从Clojure-Contrib Graph中获取函数定点来运行。不可否认,问题是微不足道的。我试图使用loading clojure-contrib中显示的技术但仍遇到麻烦。

注意:我正在使用Leiningin来启动REPL。

以下是定点的源代码:

(defn fixed-point

“反复对数据应用乐趣(等于旧数据新数据)    返回true。如果发生最大迭代,它将抛出一个    例外。将max设置为nil以进行无限次迭代。“

[data fun max equal]
  (let [step (fn step [data idx]
           (when (and idx (= 0 idx))
             (throw (Exception. "Fixed point overflow")))
           (let [new-data (fun data)]
             (if (= data new-data)
               new-data
               (recur new-data (and idx (dec idx))))))]
          (step data max)))

除了“定点溢出”之外,我似乎无法从此函数获得输出。有人可以展示一个有效的例子。

1 个答案:

答案 0 :(得分:1)

clojure.contrib.graph没有活跃的mantainer,因此在1.2 clojure.contrib mega split之后从未迁移过。

如果你仍在使用Clojure 1.2,你应该能够使它工作,否则1.3的替代clj-graph here,但已经安静了一段时间。

你应该检查你的project.clj

  • 正确的clojure版本
  • 正确的依赖声明

如果仍有问题,请在此处粘贴例外。