Arrowを勉強しよう

30分プログラム、その520。HaskellのArrowを勉強しよう。
30分ほど、日本語で解説してるブログを見てみた。
とりあえず、今のところ分ったのは、

  • Unixのパイプのように関数をつなげれる
  • IO処理がポイントフリースタイルで書ける
  • do記法でも書けるらしい

といったところ。
また明日がんばろう。

参考になりそうなサイト

まだ読んでない。

とりあえずwcを書いた

{-# OPTIONS -farrows #-}
import Control.Arrow

wcA :: Arrow arrow => arrow String Int
wcA = arr words >>> arr length

wcFile = Kleisli readFile >>> arr wcA >>> Kleisli print

wc = runKleisli wcFile