このページは、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 "これはドキュメンテーション文字列です" 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, September, 2011 で紹介された、合流的に永続的なベクターデータ構造の実装 - リード: Michał Marczyk
論理プログラミング - リード: David Nolen。
構造的パターンマッチング - リード: David Nolen。
プラグ可能なメモ化、core.cache をベースに構築 - リード: Michael Fogus。
Clojure のオプションの型チェック - リード: Ambrose Bonnaire-Sergeant
ユニフィケーション(Prologのような) - リード: Michael Fogus。
カンマ区切り値ファイル処理; 以前は cljcsv - リード: Jonas Enlund。
フィンガーツリー永続データ構造 - リード: Chris Houser。
fressian データの読み取りと書き込み。 https://github.com/Datomic/fressian/wiki を参照してください
データジェネレーター(clojure.test.generativeから抽出) - リード: Stuart Halloway。
Java Beansとプロパティのサポート - リード: Cosmin Stejerean。
Clojureのベンチマーク(および回帰)スイート - リード: Stuart Halloway。
データ生成に基づくテストライブラリ(clojure.data.generatorsを参照) - リード: Stuart Halloway。
REPLクライアントとサーバー - リード: Chas Emerick。
ClojureのClojureリーダー - リード: Nicola Mometto。
Clojureコードのアナライザー、ホストに依存しない - リード: Nicola Mometto
tools.analyzerの上に構築されたJVMコード上のClojureアナライザー - リード: Nicola Mometto
clojure.tools.analyzer.js - DEAD
tools.analyzerの上に構築されたClojurescriptコードのアナライザー - リード: Nicola Mometto
tools.analyzer.jvmをフロントエンドとして使用するJVMバイトコードジェネレーター - リード: Nicola Mometto