Даже если это возможно, такие переопределения не то, что вы должны делать, не понимая, как система отреагирует на это. Например, если вы переопределите +
, нарушится ли какой-либо другой код? Ответ на этот вопрос в случае Racket - «нет», но это потому, что вы действительно не можете переопределить +
: вместо этого вы определяете new +
, что может сделать только ваш код использовать.
Что касается выбора языка - режим Rackets R5RS является очень строгим, и его обычно не хочется использовать. Информацию о намного более благоприятной для SICP среде см. На странице поддержки 1011 * SICP Нила Ван Дейка, которая предоставит вам язык, специально созданный для книги. (IIRC, у него даже есть графический язык, который демонстрируют книги.)