どうも関数型の風(微風かな?)が吹き始めているようです(「技術者の技術的教養は変化するのか(しないのか)」参照)。とはいえ、ほとんどの現場で実際に使われているプログラミング言語はせいぜいオブジェクト指向と称するものです。そんな状況ですから、中途半端な過渡的方便としては、“バカバカしくめんどくさい”記述になるのを承知で、現場的言語でファンクショナルな、いやもう一声、カテゴリカルな概念を説明するのも無意味ではないかもしれません(とか言ってみたが、単に興味本位で実は無意味だろう、ダハハハハ)。 Listモナド それで今日の話題は、Listなんです。型パラメータXを付けたList<X>の形のものね。これは、「型Xを渡すと新たな型を創り出す機能」ですから、「型に型を対応させる関数」ともいえます。 このList<X>は、単に「型→型」対応を与えるだけでなく、独特の(しかし普遍性もある)構造と法則性を持