此页面是关于 Clojure 1.2 时期旧“单体”contrib 拆分的历史文档,当时创建了许多最初的 contrib 库。此信息不再维护,可能已过时。有关最新信息,请参阅Contrib 库。
如果此处列出了 clojure.contrib 命名空间但没有迁移详细信息,则表示没有人自愿维护该命名空间。模块化 contrib 的部分原因是,将来应该有一个活跃的维护者,以便库可以保持与 Clojure 的新版本的兼容性。所有新的模块化 contrib 库都与 Clojure 1.2.0 到 1.4.0 兼容(并且还在 Clojure 1.5 开发过程中自动进行测试 - 以及在许多不同的 JDK 上进行测试!)。
如果此处未列出 clojure.contrib 命名空间,则它很可能是一个旧的命名空间,它要么迁移到其他位置,要么作为 Clojure 1.2 的一部分已弃用(例如,clojure.contrib.duck-streams 大部分迁移到 clojure.java.io,clojure.contrib.pprint 迁移到 clojure.pprint,clojure.contrib.shell 和 clojure.contrib.shell-out 迁移到 clojure.java.shell,clojure.contrib.string 迁移到 clojure.string,clojure.contrib.http.agent 已弃用 - clj-http。
本节旨在记录如何从“旧”contrib 迁移到“新”contrib。
clojure.contrib.accumulators
clojure.contrib.agent-utils
clojure.contrib.base64
已由clojure.data.codec替换 - 负责人 Alex Taggart。
clojure.contrib.classpath
已迁移到clojure.java.classpath - 负责人 Alessandra Sierra。
clojure.contrib.combinatorics
已迁移到clojure.math.combinatorics - 负责人 Mark Engelberg。
clojure.contrib.command-line
已由clojure.tools.cli(基于 clargon 库)替换 - 负责人 Gareth Jones。
clojure.contrib.complete
clojure.contrib.complex-numbers
clojure.contrib.cond
clojure.contrib.condition
已由Slingshot替换 - 负责人 Steve Gilardi
clojure.contrib.core
部分迁移到clojure.core.incubator - 负责人 Rich Hickey。
clojure.contrib.dataflow
clojure.contrib.datalog
Michael Fogus 在 Github 上有一个基于此库的项目bacwn。
clojure.contrib.def
部分迁移到clojure.core.incubator - 负责人 Rich Hickey。
注释
defvar
:从 Clojure 1.3 开始,您可以在 def
表达式中指定文档字符串:(def my-var "This is my docstring" some-value)
clojure.contrib.error-kit
已由Slingshot替换 - 负责人 Steve Gilardi
clojure.contrib.except
clojure.contrib.fcase
fcase 已由 Clojure 1.3 clojure.core/condp
替换。如果需要,可以使用 condp
轻松实现其他宏。
clojure.contrib.find-namespaces
已迁移到clojure.tools.namespace - 负责人 Alessandra Sierra。
clojure.contrib.fnmap
clojure.contrib.gen-html-docs
clojure.contrib.generic
已迁移到clojure.algo.generic - 负责人 Konrad Hinsen。
clojure.contrib.graph
已迁移到clojure.algo.graph - 负责人 Timothy Baldridge。
clojure.contrib.greatest-least
clojure.contrib.import-static
clojure.contrib.jar
clojure.contrib.java-utils
clojure.contrib.jmx
已迁移到clojure.java.jmx - 负责人 Stuart Halloway。
clojure.contrib.json
已迁移到clojure.data.json - 负责人 Alessandra Sierra。
clojure.contrib.lazy-seqs
clojure.contrib.lazy-xml
已迁移到clojure.data.xml - 负责人 Alan Malloy。
clojure.contrib.load-all
clojure.contrib.logging
已迁移到clojure.tools.logging - 负责人 Alex Taggart。
clojure.contrib.macro-utils
已迁移到clojure.tools.macro - 负责人 Konrad Hinsen。
clojure.contrib.macros
已迁移到clojure.tools.macro - 负责人 Konrad Hinsen。
clojure.contrib.map-utils
clojure.contrib.math
已迁移到clojure.math.numeric-tower - 负责人 Mark Engelberg。
clojure.contrib.miglayout
clojure.contrib.mmap
clojure.contrib.mock
clojure.contrib.monadic-io-streams
clojure.contrib.monads
已迁移到clojure.algo.monads - 负责人 Konrad Hinsen。
clojure.contrib.ns-utils
clojure.contrib.parent
clojure.contrib.priority-map
已迁移到clojure.data.priority-map - 负责人 Mark Engelberg。
clojure.contrib.probabilities
clojure.contrib.profile
clojure.contrib.prxml
clojure.contrib.reflect
clojure.contrib.repl-ln
clojure.contrib.repl-utils
已迁移到 clojure.repl
和 clojure.java.javadoc
。show
功能类似于 clojure.reflect/reflect
。这些是否有等效项?expression-info
、run
、run*
clojure.contrib.seq
clojure.contrib.server-socket
clojure.contrib.set
已迁移到 clojure.set
,除了 proper-subset?
和 proper-superset?
,它们可以使用 subset?
和 superset?
轻松实现。
clojure.contrib.singleton
clojure.contrib.sql
已迁移到clojure.java.jdbc - 负责人 Sean Corfield。
clojure.contrib.standalone
clojure.contrib.stream-utils
clojure.contrib.strint
已迁移到clojure.core.incubator - 负责人 Rich Hickey。
clojure.contrib.swing-utils
clojure.contrib.trace
迁移到clojure.tools.trace - 负责人 Luc Prefontaine
clojure.contrib.types
clojure.contrib.with-ns
clojure.contrib.zip-filter
已迁移到clojure.data.zip - 负责人 Aaron Bedra。
本节列出了与旧 contrib 命名空间不对应的新的 contrib 命名空间,并出于完整性/文档目的提供。
一个旨在提供异步编程和通信工具的 Clojure 库。- 负责人 Rich Hickey。
clojure.core.cache 可扩展缓存 - 负责人 Michael Fogus。
契约式编程 - 负责人 Michael Fogus。
Bagwell、Rompf 在“RRB-Trees: Efficient Immutable Vectors”(EPFL-REPORT-169879,2011 年 9 月)中介绍的并发持久向量数据结构的实现。- 负责人 Michał Marczyk
逻辑编程 - 负责人 David Nolen。
结构化模式匹配 - 负责人 David Nolen。
可插拔的记忆化,建立在 core.cache 之上 - 负责人 Michael Fogus。
Clojure 的可选类型检查 - 负责人 Ambrose Bonnaire-Sergeant
统一(如 Prolog) - 负责人 Michael Fogus。
逗号分隔值文件处理;以前是 cljcsv - 负责人 Jonas Enlund。
Finger tree 持久数据结构 - 负责人 Chris Houser。
读取和写入 fressian 数据。请参阅https://github.com/Datomic/fressian/wiki
数据生成器(从 clojure.test.generative 中提取) - 负责人 Stuart Halloway。
Java Bean 和属性支持 - 负责人 Cosmin Stejerean。
Clojure 的基准测试(和回归)套件 - 负责人 Stuart Halloway。
基于数据生成的测试库(请参阅 clojure.data.generators) - 负责人 Stuart Halloway。
REPL 客户端和服务器 - 负责人 Chas Emerick。
Clojure 中的 Clojure 读取器 - 负责人 Nicola Mometto。
Clojure 代码的分析器,与主机无关 - 负责人 Nicola Mometto
JVM 上 Clojure 代码的分析器,构建在 tools.analyzer 之上 - 负责人 Nicola Mometto
clojure.tools.analyzer.js - 已失效
Clojurescript 代码的分析器,构建在 tools.analyzer 之上 - 负责人 Nicola Mometto
JVM 字节码生成器,使用 tools.analyzer.jvm 作为前端 - 负责人 Nicola Mometto