Next: 3 Funarg問題(Function Argument Problem)
Up: ソフトウェア特論 講義資料 クロージャ,オブジェクト指向
Previous: 1.2 関数の戻り値として返す手続き
プログラム言語において制限のほとんどない計算要素は第一級(first-class)
身分をもつといわれます.英国の計算機科学者Christopher
Strachey(1916-1975)により提案されたものです.第一級身分というのは,
- 変数として名前が付けられる
- 手続きに引数として渡せる
- 手続きの結果として返される
- データ構造に埋め込める
という権利を与えられているものです.
手続きをデータとして扱うことができれば,手続きの引数として手続きを渡したり,
手続きの結果として手続きを返すことが可能となります.
Lispは,他の通常の言語とちがって,手続きに完全な第一級身分を与えています.
そのために,効率のよい実装は難しくなっていますが,表現力として得たものは
大変大きくなります.
generated through LaTeX2HTML. M.Inaba 平成18年5月6日