論理学とか数学とか計算機科学とか哲学とか。ひたすら個人の見解を述べます。うろ覚えで書いたりするのであまり信用しないでください。間違いの指摘等歓迎いたします。でもきつい言い方はやめてください。 (プログラミング言語の)モナドについてはいろんな人がいろいろなことを言っていて、チュートリアルも沢山ある。ただ、どうも自分が見聞きした範囲では、そういったものは両極端にわかれているように思う。一つは正確だが難解なもの。去年秋の函数型言語プログラミングの集いでのtanakhさんの講演は多分これで、あまりに難解で笑ってしまった。(悪いという意味じゃないくて、分かっている人には含蓄のある講演だったと思う。)一方で、分かりやすい説明もあって、モナドは「計算」を表すものだ、というアナロジーが使われたりする。これはプログラマにはとっつきやすい説明だけど、よく考えると何を言っているか分からない。「計算」ってなんだ?