こんにちは。 徐々に書けることが広がってきてはいますが、まだ4分の1。 とりあえず地道に続けます。 前章で述べたJavaの呼び出しで述べた方法を使ってJavaを呼ぶのがClojureでは普通。 これで基本的には十分に高速のはずだが、さらに高速化を行うことができる。 これは外部IFには影響を与えずに出来るため、後からチューニング・・・ということも可能。 1.性能のためにプリミティブを使う これまではパラメータに型情報をつけていなかった。 #メタデータで型ヒントをつけられるということについては書いてましたが。 これはコードをすっきりさせるが、その分データ型がわかりにくくなり、性能上のオーバヘッドも発生する。 → このやり方をダックタイピングという模様。 例として、1からnまで足し合わせる関数を考える。 (defn sum-to [n] (loop [i 1 sum 0] (if (<= i n