関数型プログラミングの世界
by Kenta Murata on Jun 12, 2011
- 8,043 views
関数型プログラミングで重要となる高階関数と遅延評価について紹介。時間の関係で、遅延評価については Why Functional Programming Matters とその関連 URL ...
関数型プログラミングで重要となる高階関数と遅延評価について紹介。時間の関係で、遅延評価については Why Functional Programming Matters とその関連 URL の紹介しかしていない。
Accessibility
Categories
Tags
More...Upload Details
Uploaded via SlideShare as Adobe PDF
Usage Rights
Statistics
- Favorites
- 18
- Downloads
- 47
- Comments
- 4
- Embed Views
- Views on SlideShare
- 7,900
- Total Views
- 8,043

末尾呼び出しの最適化は処理系の実装の問題ですから関数型’言語’の必須機能ではないです。評価機の問題です。
関数型プログラミングで必要となる機能はスライドに書いてあるように、高階関数と遅延評価です。だから、私はこの二つを自然に扱える言語という意味で LISP を関数型言語だと考えていないし、スライドでもそのように分類していません。
あくまでも私の解釈ですから、渡邊さんは御自身のご理解の下で御自由に解釈してください。 11 months ago Reply
素のLISPとは何をさしているのでしょうか?
> ただし、LISP方言の一種である Scheme は末尾呼び出し最適化と遅延評価の機能が仕様化されていますから、最後の方の言語比較表では関数型言語として扱っています。
つまり、末尾呼び出し最適化と遅延評価の機能があるものを関数型言語と呼ぶということでしょうか? 11 months ago Reply
ただし、LISP方言の一種である Scheme は末尾呼び出し最適化と遅延評価の機能が仕様化されていますから、最後の方の言語比較表では関数型言語として扱っています。 11 months ago Reply
マルチパラダイム言語なので、確かに手続き型の特徴を併せ持ちますが、手続き型と関数型のどちらかに振り分けるとしたら関数型言語に分類される言語だと思うのです。
たとえばJonesらはその論文[1]の中で'Some mostly-functional languages, such as Lisp or SML.'と言うようにLISPが関数型言語であることを示唆していたりしますが。
[1] Simon L Peyton Jones, Philip Wadler, Imperative functional programming. 1992. 11 months ago Reply