Clojure
対話型評価環境(REPL)による動的な開発ができる。
関数が第一級のオブジェクトであり、副作用に基いたループを使わずに、再帰呼び出しを動作原理とするものであること。
遅延シーケンス (英語: lazy sequence)
イミュータブルで永続なたくさんのデータ構造
ソフトウェアトランザクショナルメモリ、agentシステム、動的varシステムを使った並行コンピューティング
Java仮想マシンのバイトコードを生成するコンパイラ言語であること。
マルチメソッドにより、複数の引数の型の組み合わせで実行される処理内容を変更することができる。(普通のオブジェクト指向言語のポリモーフィズムでは、ただ1つの引数によって決定される)
Javaとの密接な統合: Java仮想マシンのバイトコードにコンパイルされるため、Clojure言語で作られたアプリケーションソフトは、Javaの既存のシステムを生かすことができる。そのため、アプリケーションのパッケージ化やアプリケーションサーバーへの配備も容易に行える。また、この言語のマクロ機構を使えば、既存の Java API の呼び出しも容易に行える。さらに、Clojure言語のデータ構造はいずれも、Java の標準的なインターフェースを実装しているので、Java言語の側からClojure言語のプログラムを呼び出すのも簡単である。