開始

 今週図書館に入ったので、早速借りてやってみてる。今日は頭から2章まで。下のプログラムを見れば分かるように、ここまでなら、見かけだけなら手続き型のアナロジーでそれなりに対処できる。
 2.8の問題は、

-- 2.8.1
main = do cs <- getContents
          print $ length cs
-- 2.8.2
main = do cs <- getContents
          print $ length $ words cs

 で正しい結果が出た(ガチでまだ答えを見てない/P.S あってた)。
 そういやしばらく前、「実は結果出力が先に呼び出されていて、print(とか、出力系の関数)、の引数に含まれている変数は、辻褄を合わせるために前に前に処理を遡ってるんじゃないか」とか冗談半分に考えたことがあった。今思うと、それはほぼ間違いなく遅延評価です。本当に(ry。

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎 山下 伸夫
ソフトバンククリエイティブ
売り上げランキング: 20935
おすすめ度の平均: 5.0
5 Haskellに触れるにはこの本からが良いと思います。