Я читаю «Парадигмы программирования искусственного интеллекта» Питера Норвига и сталкиваюсь с проблемой, которую не могу решить самостоятельно (это мое введение в Лисп). Проблема, правда, довольно небольшая, но, очевидно, не та, которую мой маленький мозг может решить.
Почему, когда значение функции является лямбда, использование этой функции в качестве первого элемента списка является ошибкой. Например:
Lisp:
(defun some-func ()
#'(lambda (x) x))
;; At REPL
;; Does not work
> ((some-func) 1)
;; Does work
> ((lambda (x) x) 1)
;; Also works
> (funcall (some-func) 1)
Надеюсь, это имеет смысл!