IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

Haskellのコードを左から読むとき右から読むとき

-- 合成関数の場合、右から読む。

Prelude> ( (+1) . (*3) ) 4
13
Prelude> 

-- Control.Arrowを使ってみる
-- >>>は左から読む。シェルのパイプをつなげるように。

Prelude> :m Control.Arrow
Prelude Control.Arrow> ( (+1) >>> (*3) ) 4
15

-- <<<は右から読む。合成関数と同じように。

Prelude Control.Arrow> ((+1) <<< (*3)) 4
13

Arrowの場合は矢印に従って読んでいけば誤解がないですね。