clojure - defadt 在新的 clojure contrib 中去了哪里?

标签 clojure algebraic-data-types clojure-contrib

所以四处挖掘试图弄清楚如何在 Clojure 中执行 ADT,我遇到了旧的 clojure-contrib,它很好,只是它已被替换。好的,没什么大不了的,只需查看被替换的 clojure-contrib 的分解库目录,但是对于我的生活,我找不到在新的 clojure-contrib 分解库中迁移 defadt 的位置。

那么它迁移到了哪里呢?

我一直在寻找http://dev.clojure.org/display/doc/Clojure+Contrib+Libraries但无法弄清楚。

加分,如果你能把字符串交给我alembic.still/distill让它为我插入。

最佳答案

Clojure 中通常的风格不是定义 ADT。我认为 defadt旧的/不推荐使用的功能。

相反,请考虑使用常规 Clojure 映射或向量来定义您的数据结构。

或者,您可以使用 deftypedefrecord如果您想要一个可用于使用协议(protocol)进行多态调度的命名类型。这是一种获得类似 ADT 行为的灵活且快速的方法。

关于clojure - defadt 在新的 clojure contrib 中去了哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22022650/

相关文章:

javascript - 闭包编译器中标记的联合

list - 从列表初始化代数数据类型

Clojure db-do-prepared 调用多个参数

clojure - 如何在 Clojure 中使用 Ring 运行 Jetty 示例

clojure - leiningen 默认存储库是什么?

haskell - 有没有更好的方式来表达这种类型?

clojure - IllegalStateException 编译 Clojure-Contrib

clojure - 从 jar 导入 clojure 函数

java - 在 clojure 中使用第三方 java 库,例如 com.jcraft.jsch

Clojure/Logic Pro