トップ «前の日記(2007-05-23) 最新 次の日記(2007-05-25)» 編集

Route 477



2007-05-24

[haskell] できるのが重要なのではなく、簡単に使えることが重要

この前の勉強会の補足。

遅延評価の利点に「無限リストが使える」ってのが挙げられていた。でも正確に言えば、これはHaskellだけの特徴ではない。 クロージャが用意されている言語ならRubyだろうとPerlだろうとJavascriptだろうと、遅延したい処理をクロージャとして渡してやることで (面倒ではあるが) 無限リストのようなものが作れるからだ。

じゃあHaskellの特徴は何かっていうと、それは遅延評価がデフォルトであることだ。[1..]のような超簡単な記述で無限リストが使えて、それは 普通のリストと同じようにmapしたりfilterしたりn番目の要素を取ってきたりできる。そこにはもう有限と無限の区別がない。

無限リストが「ふつうに」使える世界では、きっと見たこともないやり方で問題を解いたりするのだろう。後半の章が楽しみだ。