Ошибка sicp ex 1.3. синтаксическое ключевое слово нельзя использовать в качестве выражения: # [ключевое слово-значение-элемент 13]

Эй, я пытаюсь написать какую-нибудь схему, ты можешь мне помочь?

(define (square a b) (+ (* a a) (* b b)))

(define (sumsq x y z)
    (cond (and (< x y) (< x z) (square y z))
          (and (< y x) (< y z) (square x z))
          (else (square y z))))

(sumsq 1 2 3)

Выдает ошибку ;Syntactic keyword may not be used as an expression: #[keyword-value-item 13]

0
0
281
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пару скобок опущены. Это правильный синтаксис для cond:

(define (sumsq x y z)
    (cond ((and (< x y) (< x z)) (square y z))
          ((and (< y x) (< y z)) (square x z))
          (else (square y z))))

Другие вопросы по теме