ここらへんの一連の流れをよんで、 Schemeがコンピュータサイエンスの教育用によく使われる理由を自分なりに考察してみた。 おまじないが少ない 知らなければならない文法が少ない。 構造化、オブジェクト指向(メッセージパッシング)、関数型、論理型、制約型といった代表的なパラダイムを教えれる事ができる。 意味論が定義してある おまじないが少ない C++とか、Javaとか、いろんな「おまじない」が多い。 #includeとかclassとか、その点Schemeの場合「おまじない」がほとんどない。 せいぜい「if」、「cond」とかのスペシャルフォームぐらい。 知らなければならない文法が少ない。 SICPでは、4章で自分がマクロ定義しないといけない事態になるまで覚えないといけない文法は、 define let lambda if cond begin set! cons car cdr cadr l