[ 目次, 前節, 次節, 索引 ]

4.2  Schemeの変形---遅延評価



Lispプログラムとして表現した評価器が出来たので, 評価器を単に修正するだけで言語設計の他の選択の実験が出来る. 実際新しい言語は, 既存の高水準言語の中に新しい言語を埋め込んだ評価器をまず書くことで発明されることが多い. 例えばLispの修正提案のある面を, Lisp社会の他のメンバーと議論しようと思えば, その変更を組み込んだ評価器を渡す. 受け取った側は新しい評価器で実験し, 一層の修正のコメントを送り返す. 高水準実装の基盤は評価器のテストとデバッグを容易にするだけではない: それに加え, われわれの埋込みLisp評価器が, 基盤のLispの基本手続きや制御構造を使ったように, 埋込みは設計者に基盤の言語から機能をスナーフ31 出来るようにする. (仮にやるとしても)それが済んでから, 設計者は低水準言語またはハードウェアでの完全な実装を組み立てるという仕事に進む. 本節と次の節で, 表現力を著しく追加するようなSchemeの変形をいくつか探求する.


31 スナーフ: 「特に所有者の許可を得て, または得ずに, 大きな文書やファイルを利用する目的で素早く手に入れること.」 スナーフダウン:「スナーフすること. 時には吸収する, 処理するまたは理解するという意味が言外に含まれる. 」(これらの定義は Steele他1983からスナーフした. Raymond 1993も参照)

[ 目次, 前節, 次節, 索引 ]