haskell

haskell の Data.IORef

IO モナド中で更新できる値を扱う. main = do ior <- newIORef 0 writeIORef ior 5 v <- readIORef ior print v -- => 5 modifyIORef ior (+ 1) v <- readIORef ior print v -- => 6

haskell で状態更新ループ

parsec で式のリストを作り,それを先頭から順に読んで状態を更新していくループを実装してみる.仕様: 空白を含む数字の列を1桁の数列とみなし,それを順に足しあげていく.加算の結果を状態とする.まず1桁の数字を読んで文字として返すパーザ: digit_ws…

haskell の monad

Haskell の処理系に組み込まれている monad サポートとは?構文糖衣 do のことなのか??ただそれだけなのか? 参照: Doing it with class ユーザー定義演算子は左結合のようだが,本当か?どこに書いてある? IO モナドとは, 外せない IO マーク による副…