関数型言語の特長
店頭で入門OCaml ~プログラミング基礎と実践理解~やプログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~を見かけた.新納先生がCommon LISPの入門書も書いているし,あちらこちらでHaskellの名前を聞く.いつの間にか関数型言語の時代になっていたらしい.
関数型言語の特長として挙げられるのが「遅延評価」だという.要するに値が必要になるまで値の評価を行わないということ.通常プログラミング言語では先行評価が行われるという.利点は計算量の最適化.
けれど,それがプログラミング上でどのように効いてくるかイメージできない.
余裕ができたらこの記事でも読もう
でも,実際「関数型言語(系)」とされている言語で遅延評価を使える言語はそんなに多くないみたい.
* 遅延評価を仕様に定義している言語の例
o ML
o Scheme
o D
* 遅延評価を原則とする言語の例
o Haskell
(Wikipediaから引用)