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