状態を扱うためにHaskellにはStateモナドが用意されている。状態付きの計算とは、ある状態を取って、更新された状態と一緒に計算結果を返す関数として表現できる。このような状態付きの計算も、文脈付きの値だとみなすことができる。計算の結果を得るのと同時に新しい状態が得られるというのが文脈にあたる。スタックと石stackデータ構造をモデル化する。型の結果を返す状態付き計算。値を取って常にその値を結果として返すような状態付き計算。2つの状態付き計算を繋げられる。popもう少し複雑なスタックの処理を書く。スタック1つの数を取り出して、5だったら元に戻す。5ではなかった場合、3と8を積む。どちらも状態付き計算なのでこの2つをつなげることができる。[100,9,3,6,22,1,0]((),[8,3,3,6,22,1,0])状態の取得と設定Stateモナドを扱うための便利な型クラスMonadStateがある。状態の扱いをモナドに任せることができる。コインを3枚投げる処理はこう書けるようになる。2103410263)所感だいたいわからん。複雑なモナドになるとコードが何してるかわからなくなる。モナドは作りたいと思って作るものではない。5という値は決定的である。(1)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。