Решите это следующим образом:
e.g1
(defun create-function(a1)
(defun plus-function(x) (+ x a1)))
(create-function 2) -> PLUS-FUNCTION
(plus-function 3) ->5
e.g2
(setf (symbol-function 'printx) #'(lambda (x) (print x)))
(printx '(1 2 3)) -> (1 2 3)
Ранее у меня также была такая же проблема, когда я определял функцию.
Пример:
(defun test-function(fn)
(defun fn ((lambda() (print "aaa")))))
После того, как я бегу
(test-function 'aaafunction)
Результат оценки:
FN
Не возвращает функцию с именем "aaafunction" ...
Человеку, понизившему мой ответ:
Мы новички в Лиспе, но мы усердно работаем над изучением знаний, а вы не так уважительны.