Измените обработку cond
В языке Scheme есть дополнительная разновидность синтаксиса вариантов
cond
,
(<test> => <recipient>)
. Если результат вычисления
<test>
оказывается истинным значением, то вычисляется
<recipient>
. Его значение должно быть одноместной процедурой; эта процедура вызывается со значением
<test>
в качестве аргумента, и результат этого вызова возвращается как значение выражения
cond
. Например,
(cond ((assoc ’b ’((a 1) (b 2))) => cadr)
(else false))
имеет значение
2
. Измените обработку
cond
так, чтобы она поддерживала этот расширенный синтаксис.
Комментарии отсутствуют.