M-OZ BLOG

Scheme-users.jpTwitter

# 2008/12/08(Mon) : [Scheme] 言語仕様について
Scheme は理想的な言語だと書いたが...
実は気に入らないところもあったりする。

* マクロ
構文そのものを組み換える重要な機能だとは思うし、私もたまに使う。
けれど...何故かあまり好きになれない。
フィルタで実現できそうな気がする。
もちろん機能としてあったほうが良いとは思うけれど、
仕様としては、わざわざ入れる必要はあるんだろうか。

* eval
実行中にS式を評価する。言わばLispの奥の手ではあるが...
REPL にも大変お世話になっているが...
何故か使いたくないなぁ。なんでだろ。
これは言語の外側(外枠?)に属する機能のような気がする。

* R6RSライブラリで定義されている束縛は変更できない
この仕様は汚すぎる。
なんとかならなかったのだろうか。
ライブラリの束縛名が衝突したときにエラーが出るというのは、まぁ、ギリギリ許容範囲。
ライブラリの中も Scheme ではあるけれど、レイヤーが違うと納得できる。
しかし、プログラムの中で、特定の束縛を変更できないというのは、これはちょっと許せない。
括弧の内側は完全に自由なのが Scheme の良いところだと思う。
例えば define や if などの最も基本的な要素さえも他の束縛と同じように変更できる一貫した規則性が綺麗だと思う。
これだけは我慢ならない。なんとかしたいな。
次のR7RS(?)で文句を言えるよう英語を勉強しておこうか。

[TOP] [ALL]