clojureで関数を合成してみる

2つ以上の関数をcomp関数を使って合成してみる。関数を合成した場合、右から左に関数が適用される。
最初の例は、引数で与えられた1をインクリメントしてから2乗する。
次の例は、引数で与えられた1を2乗してからインクリメントする。

user=> ((comp (fn [x] (* x x)) inc) 1)  
4
user=> ((comp inc (fn [x] (* x x))) 1)    
2

これは次と同じと言うことで良いのかな。

user=> ((fn [x] (* x x)) (inc  1))
4
user=> (inc ((fn [x] (* x x)) 1))
2