haskell
fold(l/r) (++) [] l という呼出で、lが無限リストの場合式を評価して最初の要素を得ようとした時に、foldlは計算が終わらないがfoldrは結果を得ることができる。これは、foldlの呼出は, (++)をf, lを[a, b, ...] とすると f (f ... (f [] a) ) . となって、…
この章はモナドの話。とりあえず、モナドまだ裏でごにょごにょと 計算をつないでくれるという感覚もてない。Stateモナドの型は state -> (state, value) という型になっていて、(>>=)はstateの接続を裏でやってくれる。