タグ

ブックマーク / ha-tan.hatenadiary.org (1)

  • Arrowを写経 - 趣味的にっき

    新しい概念を覚えるには、とりあえず写経して使ってみよう。ということでやってみました。 大体何ができるのかわかったような気がしますが、これがピタっとハマる適用例って何でしょう? 便利で使えそうだとは、何となくもやもや思うのですが、どこで使うべきなのかいまひとつピンときません。うーむ。。。 module Main (main) where import Control.Arrow f :: Arrow a => a Int Int f = arr (+ 1) g :: Arrow a => a Int Int g = arr (+ 2) main :: IO () main = do print $ f 100 -- => 101 print $ g 100 -- => 102 -- 関数fとgを直列に繋ぐ。100 + 1 + 2。 print $ (f >>> g) 100 -- => 10

    Arrowを写経 - 趣味的にっき
  • 1