Arrow勉強中

ポイントフリースタイルで書いた場合

main = print $ wc "Hello World Akira"

wc = length . words


Arrowを使った場合

import Control.Arrow

main = print $ wc "Hello World Akira"

wc = arr (words >>> length)

"Akira"が渡されたら左側(++ " : C++")、それ以外は右側(++ " : Java")が処理される

import Control.Arrow

main = print $ language "Akira"

jadge "Akira" = Left "Akira"
jadge x = Right x

language = arr (jadge >>> (++ " : C++") ||| (++ " : Java"))