The Craft of ... の続き(2)

p303 newtype

コンストラクタが一つの時は data じゃなくて newtype と書くと効率的。そんなこと機械が勝手にやればいいのに。

p308 $6,4000 question

ミリオネアみたいなクイズ番組らしい -> http://www.museum.tv/archives/etv/S/htmlS/$64000quest/$64000quest.htm

p339 遅延評価

arguments は評価しないまま展開するけど、x+x みたいにやっても x の評価は1度だけ

p351

たとえば sum (map (^4) [1 .. n]) の評価で中間体のリストは生成されない。なるほど。

p383-

モナド。うーんうーん。
まず、順番が大事なときは do を使えというのはわかった。その際なんでモナドでラッピングのような事をしないといけないのかはわからない。
最後のStateモナドの例は、perlのtieみたいなことをやろうとしている、ように見えるけどちゃんとは理解できない。
typeなどの理解が浅いのが原因か。慣れてからまた。

p424

遅延評価が絡むと計算に使うスペースの量が変わったりするよ、と。なるほど。あと単に末尾再帰風に書いても意味ない。なるほど。

p427

この関数 strict は 演算子 $! で定義されてる -> [haskell:45] Re: Haskell=?iso-2022-jp?B?GyRCJE5Ldkh4OkY1IhsoQg==?=

読んだ

理解したとは言い難いけど、なんとなく雰囲気はわかった感じ。よい本だと思います。