Я пытаюсь сделать процедуру абсолютного значения, и код получил ошибку. Я не знаю почему: /
(define (abs x) (cond ((> x 0) x) ((= x 0) 0) ((< x 0) (- x))))
Сообщение об ошибке:
define-values: assignment disallowed; cannot change constant constant: abs
Процедура abs уже является частью языка, который вы используете, и вы не можете создать другую процедуру с тем же именем. Просто переименуйте его (и, кстати, реализацию можно немного упростить):
abs
(define (myabs x) (cond ((>= x 0) x) (else (- x))))