clojure - Clojure 1.4 上的棱柱模式?

标签 clojure plumatic-schema

我们正在评估Prismatic/schema用于当前使用 Clojure 1.4 的项目。我们目前不希望在我们的项目中升级 Clojure。 Schema 需要 Clojure 1.5.1,但是 repl 中的一些基本测试没有显示 Clojure 版本更改为 1.4 时出现任何问题。

是否有其他人尝试过在 Clojure 1.4 上使用架构,效果如何?

这是我尝试过的(在project.clj中将Clojure更改为1.4.0之后):

(require '[schema.core :as s])
(require '[schema.macros :as sm])

(sm/defn foo ...)

(s/with-fn-validation (foo ...))

没问题。我注意到的一件事是模式测试在 Clojure 1.4 上完全崩溃(甚至无法运行)。我并不真正关心这一点,但我会关心项目功能是否存在实际问题。

最佳答案

据我所知,Schema 在 1.4 中应该可以正常工作。测试失败是因为它们使用了标记协议(protocol)(没有方法),而 1.4 不喜欢这样——但 Schema 本身并不依赖于这个功能。我验证了在 ATestProtocol 添加虚拟方法后,所有 Schema 测试当前都在 Clojure 1.4.0 下通过。

我不想 promise future 支持 1.4,但如果您发现任何问题或错误,请告诉我们,我们将看看我们能做些什么。正如 Jared 上面指出的那样,Google 网上论坛可能是解决此类问题更合适的地方。

关于clojure - Clojure 1.4 上的棱柱模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18996781/

相关文章:

Clojure - map 索引是否可以从 0 以外的索引开始?

heroku - 在 Heroku 上调用 clojure 工作线程的最佳方法是什么?

mongodb - 如何使用 MongoDB 在 Prisma ORM 中创建类别及其子类别

clojure - 无法使用 clojure 模式库在映射中使用字符串键验证值

clojure - 专门检查矩阵 Clojure 模式中的向量

clojure - :body-params vs :form-params in compojure-api

testing - 如何使测试挂起

clojure - 如何在 Clojure 中保存来自 twitter-api 的流式推文?

clojure - 如何为 datomic 编写可重用的规范查询