Построить функцию карты с elisp - PullRequest
0 голосов
/ 30 октября 2019

Я имитирую общую функцию карты из 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

В чем проблема с моим переписыванием?

...