haskell

foldlが無限リストを扱えない件についての確認

fold(l/r) (++) [] l という呼出で、lが無限リストの場合式を評価して最初の要素を得ようとした時に、foldlは計算が終わらないがfoldrは結果を得ることができる。これは、foldlの呼出は, (++)をf, lを[a, b, ...] とすると f (f ... (f [] a) ) . となって、…

やさしい Haskell 入門 8章 読了

この章はモナドの話。とりあえず、モナドまだ裏でごにょごにょと 計算をつないでくれるという感覚もてない。Stateモナドの型は state -> (state, value) という型になっていて、(>>=)はstateの接続を裏でやってくれる。