Scheme は小さいか

プログラミング言語 Scheme の仕様は小さくて綺麗だと評価されることがある。 それは間違いではないと思うが、現実はそれだけでもない。

いくつか Scheme 処理系を使ってみればわかるが、それぞれかなり異なる思想で設計されている。 実装の差がある以前に言語としての考え方に差があるのだ。 言語仕様になっている内容はいくつもの考え方の中で、それでもなお統一できる部分、統一すべき部分について合意できた部分だけをまとめたものだ。

議論の末に誰もが納得できるほどに完成度が高くなった部分だけを文書にしたのが仕様であるから綺麗なのは当然である。 仕様が小さいというのは、逆に言えば統一できていない考え方がたくさんあるということでもある。 合意に至らず仕様に入れられなかったそれらもまた Scheme の解のひとつなのだ。

Scheme の仕様にない部分は無くても良い部分なのではなく多様性を許している部分であって、それぞれの実装のために、将来のために残された可能性なのである。 大きな可能性も含めたものが Scheme なのである。

Document ID: 130c3688b6151a05ba92b9c42c5826ff