> nobsun のやさしい Haskell 入門の翻訳では
> IO 云々の文脈で出て来るので、これは違うみたいだし。

-- 数学的なモナドの概念については、私は \(_._)/ (oteage)

Haskell では IO は Monad クラスのインスタンスのひとつです。

Haskell における I/O と モナドの関係については、

Peyton Jones と Wadler の "Imperative functional programming"
http://homepages.inf.ed.ac.uk/wadler/topics/monads.html#imperative

とかがおもしろいです。
-- Haskell は 1.2 までは入出力は IO ではなく、Dialog でした。

また、Haskell まわりでは、Wadler のペーパーにおもしろいのがあります
http://homepages.inf.ed.ac.uk/wadler/topics/monads.html

10年くらい前の POPL かなにかには、Guy Steele Jr. の
"Building Interpreters by Composing Monads" という paper がありました。
これはおもしろかったです。

Haskell の Monad関連ライブラリにあるものの使い方や解説は、
Jeff Newbern の "All about Monads" というのがあったのですが。。。

-- 実はとちゅうまで翻訳したのですが、うまく訳せずに、ほったらかしてる
-- うちに、原文が辿れなくなっていますねぇ。

--nobsun

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/