1

メインの :: IO() 関数で、Either モナドを返す関数を使用するのに問題があります。私は、Either を使用せずにコードを実行することができますが、現在はエラーを処理するために Either を使用しています。次のコードがあります。

parse :: Parser a -> String -> Either TypeRep a
parseFile :: String -> Either TypeRep Game

main :: IO()
main = do 
  content <- readFile "file.txt"
  let info = parseFile content
  case info of
    Left e -> error $ show e
    Right game -> let level = makeGame game
               Gloss.play ... level ... 

したがって、解析関数が a. IO を使用して主にどちらかを処理するにはどうすればよいですか。

4

1 に答える 1