TL;DR

  • Clojure の Java サポートは、Lisp の表現力に Java 呼び出しのための構文上の工夫を加えているので強力で、下層の Java を直接呼び出せるので軽量である。
  • Java の型をそのまま使い、reify、defrecord、proxy でインタフェースの実装やクラスの継承を行い、Java からは clojure.java.api.Clojure で Clojure を呼べる。
  • 検査例外を処理しなくてよく、ex-info と with-open で例外処理を簡単に書ける。パフォーマンスは、測定してから型ヒントやプリミティブ型で必要な部分だけを最適化する。

内容

Clojure の Java サポートは強力かつ軽量である。強力というのは、Lisp の表現力に、Java 呼び出しのための構文上の工夫を加えているからである。軽量というのは、下層にある Java を直接呼び出せるということである。各節のまとめは次のページにある。

キーワード