はじめに 過去に私がHaskellを学び始めた時、 真っ先に疑問に思ったことはモナドの存在だった。 当時は全くと言っていいほど理解できなかったが、 最近Haskellを学び直して ようやく理解することができた(と思う)。 という訳で、現時点での私のモナドへの理解を示すためにこの記事を書く。 ここではモナドの本質が何なのか概要を示す。 正確な説明は数多あるモナドについてのチュートリアルを参照されたい。 Hellow World問題: IO, Monad, fail 新しい言語を学ぶ時、まず間違いなくHello Worldを書くだろう。 HaskellでHello Worldを書くとこうなる: この1行だけを見ると普通の命令型言語と大して変わらないように思える。 ところでHaskellには強力な型推論がある。 そのため型宣言を省略しても処理系がよしなに解釈してくれる。 ただ普通はコードの意図す
![モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア](https://cdn-ak-scissors.b.st-hatena.com/image/square/ca62347a9dca033ed1ee2bfcb77cfb875f3fa625/height=288;version=1;width=512/https%3A%2F%2Fwww.timedia.co.jp%2Fwp-content%2Fuploads%2F2022%2F04%2F13178.png)