世の中には様々なプログラミング言語があるが,本文書では,Lispプログラミン グ言語の一つの方言であるScheme(スキーム)を紹介する.ここではSchemeを直観 的に理解することをまず目標として,形式的に完全であるかどうかにはこだわら ないことにする. ※見た目にもあまりこだわらないことにする:-)
本文書は,主に上記の文献を参考にして筆者がまとめたものであり,これらの参
考文献に負うところが大である.特に,「評価環
境のモデル」と「クロージャーとオブジェ
クト」では,筆者がSchemeを学習し,大いに影響を受けた"Structure and Interpretation of Computer Programs"で使
われている図式のスタイルをそのまま利用しているので,ここにそれを記しておく.
またその中の例題も同じテーマのものを使わせてもらっている.
※なお言うまでもないが,本文書に誤りがあれば,それは筆者の誤りである;-)
Schemeの処理系には,さまざまなものがある.
elk guile scm MIT scheme TUT scheme …もちろんどのScheme処理系を用いても,数値演算などを実行したときの計算結果 は同じであるが,変数・関数定義,変数への代入の式に対する返り値は, Schemeの仕様書には定められておらず,処理系の実装に委ねられている.
本文書においては,多くの実行例を挙げているが,必ずしも1つのScheme処理系 を想定しておらず,その都度分かりやすい形式でシステムからの応答を表してい る.
本文書はCopyleftに則り,著作権表示,参考文献の リストおよびこの但書きを全て変更しないで,添付する場合にのみ再配布可能で す.本文の内容を変更した場合は,その変更が明らかになるようにしてください.
Last modified: Mon Jan 7 17:26:45 JST 2002