5
IOモナドが世界で動作する状態モナドと見なされているという批判
IOHaskellではモナドは、多くの場合、状態は世界でStateモナドとして説明します。したがって、IO aモナド型の値はのようなものと見なされますworldState -> (a, worldState)。 しばらく前に、私はこの見解を批判し、それが正しくない理由をいくつか示した記事(またはブログ/メーリングリストの投稿)を読みました。しかし、記事も理由も思い出せません。誰もが知っていますか? 編集:記事は失われたようですので、ここからさまざまな議論を集めましょう。 私は物事をより面白くするための賞金を始めています。 編集:私が探していた記事は、厄介な部隊への取り組みです:サイモンペイトンジョーンズによるHaskellでのモナド入力/出力、同時実行、例外、および外国語呼び出し。(TacTicsの回答に感謝します。)