入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT5(コンテキストでの型の操作)、LESSON31(do表記を使ってMonadを扱いやすくする)、31.2(do表記を使って同じコードを異なるコンテキストで再利用する)、IOコンテキスト:コマンドラインツールを構築する、クイックチェック 31-3の解答を求めてみる。 コード data Grade = F | E | D | C | B | A deriving (Eq, Ord, Enum, Show, Read) readGrade :: IO Grade readGrade = do line <- getLine let grade = read line return grade main :: IO () main = do grade <- readGrade prin