まえがき

これは、Schemeプログラミングの入門書です。初心者がSchemeについて 自明ではないけれど実用的な知識が得られるようなクイックスタート手引書を 意図しています。これを読んだのち、より総合的で、綿密な教科書に移れる ようにと考えてあります。

ここでは、歯切れよく、実用的なSchemeを書く ひとつの アプローチを解説します。Schemeのabsからzero?まで全部を カバーするわけではありませんが、役に立つ、使える部分であるにも かかわらず、難しく、やっかいで、非標準的で、見慣れない、この言語 の側面を避けて通るようなことはしません。このような側面というのには call-with-current-continuation、システムインタフェース、それに 方言間の相違が含まれています。 ここでの議論は、問題解決に焦点を当てることで活性化されるのであって、 メタ言語的な洞察を探究することで活性化するわけではありません。 それゆえ、伝統的なSchemeのチュートリアルで中心的に取り扱われている ものを割愛しています。綿密な教育学、Schemeの意味論の魅力の存在、 超循環インタープリタ、基礎をなす実装に関する議論、 Schemeの美徳についての布教などは出てきません。 これらの事柄が重要ではないということではありません。 しかしながら、これらのことがらは、おそらく間違いなく、手軽な 入門書をもとめている人にとっては直接は関係のないものでしょう。

では、どのくらい素早く独習できるのでしょう。Schemeが3週間 (21日1)で独習 できるのかどうかは分りませんが、Schemeの初歩はせいぜい 一日分の昼間のお勉強というところだ、というのを聞いたことがあります。 Schemeの標準[cite{r5rs}]自身、厳密に、包括的なものであるにもかかわらず、 たった50ページしかありません。あるひらめきがあれば、 まる一日あれば全部こなせるというのは十分ありえます。しかし、 どのくらいの午後が失敗に費されるかはだれにも分りません。 その悟りの瞬間がくるまでは、このやさしい入門書をどうぞ。

謝辞 私にSchemeと高階プログラミングを教えてくれた Matthias Felleise に感謝します。また、この本を通じて利用しているMzSchemeの 頑丈で心地良い実装を行ったMatthew Flattにも感謝します。

—d


1 fixnum (原文)というのは、「小さい」 整数という計算機の概念です。それぞれの計算機ごとに fixnum がいくつまでかという概念があります。