はすける

純粋関数型言語Haskellに関して。
別にこの言語を使ってプログラミングをしたことはないんだけど、昔から興味はある。
で、この言語には特有?な機能・考え方があって、それが「モナド」ってやつ。ちなみに餡子を挟んで食べるサクサクした和菓子ではない。
んで、関数型言語に詳しい友達に話をたまに聞いていたのだけど、今日たまたまそっち関係のリンクを辿ってしまって、Wikipediaのお世話になってしまった。
それが、「圏論 - Wikipedia」なんだけど、ここを読んで勝手に考えたこと。
モナドってやつは、関数から他のもの(例えば入出力)への「斜」の集合なのかな?つまり、「副作用のない純粋な関数」と「副作用の塊」という対立する概念を結びつける一段上の概念*1モナドですかね?この機能を使うことで関数と副作用を糊付けし、関数型としての純粋さをそこなわずにプログラミングできると。そんなことかな?
まぁ、下のページを読めば早い話だろうけど、長いから読みたくないよ(笑)
All About Monads
#指摘歓迎。教えてください。

*1:ヘーゲルさんのテーゼ、アンチテーゼ、ジンテーゼみたいな