Я работаю через SICP. В настоящее время в первой главе у меня возникают проблемы с тем, чтобы Racket позволил мне переопределить «примитивы». Например, у меня сложилось впечатление, что я могу произвольно выполнить (define + 5)
, и это было бы нормально, или переопределить процедуру sqrt
. Вместо этого я получаю это:
define-values: cannot change constant variable: +
В настоящее время у меня установлен язык R5RS, который, как я полагал, позаботится о проблемах совместимости с SICP.