Clojure

Contribの歴史

このページは、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)。

Clojure.Contrib名前空間

このセクションでは、「古い」contribから「新しい」contribへの移行方法を文書化することを目的としています。

  • clojure.contrib.accumulators

  • clojure.contrib.agent-utils

  • clojure.contrib.base64

  • clojure.contrib.classpath

  • clojure.contrib.combinatorics

  • 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.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.contrib.fnmap

  • clojure.contrib.gen-html-docs

  • clojure.contrib.generic

  • clojure.contrib.graph

  • clojure.contrib.greatest-least

  • clojure.contrib.import-static

  • clojure.contrib.jar

  • clojure.contrib.java-utils

  • clojure.contrib.jmx

  • clojure.contrib.json

  • clojure.contrib.lazy-seqs

  • clojure.contrib.lazy-xml

  • clojure.contrib.load-all

  • clojure.contrib.logging

  • clojure.contrib.macro-utils

  • clojure.contrib.macros

  • clojure.contrib.map-utils

  • clojure.contrib.math

  • clojure.contrib.miglayout

  • clojure.contrib.mmap

  • clojure.contrib.mock

  • clojure.contrib.monadic-io-streams

  • clojure.contrib.monads

  • clojure.contrib.ns-utils

  • clojure.contrib.parent

  • clojure.contrib.priority-map

  • 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-inforunrun*

  • 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.contrib.standalone

  • clojure.contrib.stream-utils

  • clojure.contrib.strint

  • clojure.contrib.swing-utils

  • clojure.contrib.trace

  • clojure.contrib.types

  • clojure.contrib.with-ns

  • clojure.contrib.zip-filter

新しいContrib名前空間

このセクションでは、古いcontrib名前空間に対応しない新しいcontrib名前空間をリストし、完全性/ドキュメント化の目的で提供します。

  • clojure.core.async

    • 非同期プログラミングと通信のための機能を提供するように設計されたClojureライブラリ - リード: Rich Hickey。

  • clojure.core.cache 拡張可能なキャッシュ - リード: Michael Fogus。

  • clojure.core.contracts

    • 契約プログラミング - リード: Michael Fogus。

  • clojure.core.rrb-vector

    • Bagwell, Rompf, "RRB-Trees: Efficient Immutable Vectors", EPFL-REPORT-169879, September, 2011 で紹介された、合流的に永続的なベクターデータ構造の実装 - リード: Michał Marczyk

  • clojure.core.logic

    • 論理プログラミング - リード: David Nolen。

  • clojure.core.match

    • 構造的パターンマッチング - リード: David Nolen。

  • clojure.core.memoize

    • プラグ可能なメモ化、core.cache をベースに構築 - リード: Michael Fogus。

  • clojure.core.typed

    • Clojure のオプションの型チェック - リード: Ambrose Bonnaire-Sergeant

  • clojure.core.unify

    • ユニフィケーション(Prologのような) - リード: Michael Fogus。

  • clojure.data.csv

    • カンマ区切り値ファイル処理; 以前は cljcsv - リード: Jonas Enlund。

  • clojure.data.finger-tree

    • フィンガーツリー永続データ構造 - リード: Chris Houser。

  • clojure.data.fressian

  • clojure.data.generators

    • データジェネレーター(clojure.test.generativeから抽出) - リード: Stuart Halloway。

  • clojure.java.data

    • Java Beansとプロパティのサポート - リード: Cosmin Stejerean。

  • clojure.test.benchmark

    • Clojureのベンチマーク(および回帰)スイート - リード: Stuart Halloway。

  • clojure.test.generative

    • データ生成に基づくテストライブラリ(clojure.data.generatorsを参照) - リード: Stuart Halloway。

  • clojure.tools.nrepl

    • REPLクライアントとサーバー - リード: Chas Emerick。

  • clojure.tools.reader

    • ClojureのClojureリーダー - リード: Nicola Mometto。

  • clojure.tools.analyzer

    • Clojureコードのアナライザー、ホストに依存しない - リード: Nicola Mometto

  • clojure.tools.analyzer.jvm

    • tools.analyzerの上に構築されたJVMコード上のClojureアナライザー - リード: Nicola Mometto

  • clojure.tools.analyzer.js - DEAD

    • tools.analyzerの上に構築されたClojurescriptコードのアナライザー - リード: Nicola Mometto

  • clojure.tools.emitter.jvm

    • tools.analyzer.jvmをフロントエンドとして使用するJVMバイトコードジェネレーター - リード: Nicola Mometto