モナドとかLINQとか

一つ前の記事のコメントがすばらしすぎるのですが、長すぎて扱いづらいので無理やり記事を書いてみたり(^^;

NyaRuRu さんが挙げた
>・IEnumerable は [a] というより IO [a] ?
>・実は LINQ to Object は IO と List の合成モナド
の部分について、ちょっと考えてみた。

LINQ to Object の IEnumerable は単に IEnumerable と言っただけでは遅延評価の側面が欠けてしまうので、遅延評価の IEnumerable と言わないと正しくないですね。

× LINQ to Object: M a = IEnumerable<a>
LINQ to Object: M a = 遅延評価 IEnumerable<a>


って話と何の脈絡もなく唐突にはすける

inc :: (->) Int Int
inc n = n + 1

動いた。気持ち悪いw

もう今日はこのあたりのこと以外、すべて上の空…マズイ…