jvm clojure lang IFn.java IFn - athos/reading-clojure GitHub Wiki

インタフェース

clojure.lang.IFn jvm/clojure/lang/IFn.java

概要

Clojureで関数適用可能なオブジェクトが実装するインタフェース

詳細

Clojureでの関数呼び出しは、対応する個数の引数をもつinvokeメソッドの呼び出しへコンパイルされる。

applyから呼び出される場合等、実行時まで引数の個数が分からない場合applyToメソッドが呼ばれる。

IFnを実装するクラスを定義する場合、IFnで定義されているメソッドをすべて実装するのは面倒なため、通常は各メソッドに対するデフォルトの実装をもつclojure.lang.AFnを継承する。

OLLODLといった内部インタフェースはプリミティブ型のボクシング抑制のために使われる。

関連

内部インタフェース

メソッド