環境

環境をどう実装したらいいのか考えていたら、(R5RSでは)各実装に任せられているそうな。

R5RSのevalは、第二引数に「環境指定子(environment specifier)」を取ると定義されている。

(eval form environment-specifier)

しかし、環境指定子の具体的な実装は処理系に任されている。

http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3Aeval%E3%81%A8%E7%92%B0%E5%A2%83

evalの引数になりえるのなら、S式として実装した方が良いのかな。それとも処理系内部で保持している環境とenvironment-specifierは違うデータ構造にすべきなのかな。
実装に用いる言語と、実装したい言語の境目が分からなくなってきた。