私はちょうどスキーム (mit-scheme) をいじり回しており、「+」が「-」演算子と同等の手順の記号になるように、環境を変更する方法を見つけたところです。
例
(environment-define user-initial-environment '+ -)
(eval (+ 3 2) user-initial-environment)
=> 1
環境を変数として扱う簡単な方法があるかどうか疑問に思っていたので、環境をevalに入力すると、
(eval <exp> user-initial-environment)
「user-initial-environment」を使用する必要はありません。そのため、関数のさまざまな環境で「遊ぶ」ことができます。
(eval <exp> env)
env は、変数「env」に関連付けられた事前定義された環境です。