プログラミング Haskell 第9章 対話プログラム その1

プログラミングHaskell

プログラミングHaskell

またかなり間があいてしまいました。今日から第9章です。対話プログラムということで、つまり IO アクションとモナドの話になるのだと思います。重要なところだと思うのでゆっくり読んでいきます。

  • 純粋関数型と副作用との共存のはなし
    • World (世界の状態)を受け取って返す関数としてモデルするよという話
    • type IO a = World -> (a, World)
      • Parser と同じですね
  • IO の例
    • getChar :: IO Char
    • putChar :: Char -> IO ()
    • return :: a -> IO a
      • return は「純粋な関数の世界」から「副作用のあるアクション」へ値を渡す
      • 逆向きに変換する方法はない
  • >>= 演算子でアクションの結合
  • do 記法(Parser でやったのと同様)
  • 上記の部品(getChar, putChar, return)を組み合わせてアクションを組み上げていく
    • getLine
    • putStr
    • putStrLn
    • etc...

次は電卓プログラムを書いてみるようです。