Я имитирую общую функцию карты из SICP
(define (map proc items)
(if (null? items)
nil
(cons (proc (car items))
(map proc (cdr items)))))
(map abs (list -10 2.5 -11.6 17))
Перефразирую ее с помощью elisp
(defun map(proc items)
(if (null items)
nil
(cons (proc (car items))
(map proc (cdr items)))))
(map abs (list -10 2.5 -11.6 17))
Выполнить, но сообщить об ошибке:
ELISP> (map abs (list -3 -5))
*** Eval error *** Symbol’s value as variable is void: abs
Однако, absработает
ELISP> (map abs (list -3 -5))
*** Eval error *** Symbol’s value as variable is void: abs
В чем проблема с моим переписыванием?