ファーストクラスオブジェクト(引用の引用)

ファーストクラスオブジェクトとは何か!? (`ω´)」より
http://d.hatena.ne.jp/heppokoprogram/20060201

一般にプログラム言語には,計算要素を扱う方法にいろいろな制限があるものだ.制限の殆どない要素は第一級(ファーストクラス)身分を持つという.第一級要素の「権利と特権」は:

* 変数として名前がつけられる.
* 手続きに引数として渡せる.
* 手続きの結果として返される.
* データ構造に組み込める.

である.Lispは他の通常のプログラム言語と違い,手続きに完全な第一級身分を授与した.そのため,効率のよい実装は難しくなったが,表現力として得たものは絶大である.