Переписать код common lisp без eval

Переписать код common lisp без eval:

(setf lst '(a b c) a 1 b 2 c 3)
(mapcar #'eval lst) => (1 2 3))

C `, не получается.
Зачем это надо - есть функция на вход которой подается квотированное математическое выражение, функция его преобразует в формулу latex. Затем на вход той же функции надо подать то же математическое выражение, но чтобы переменные вычислились в свое значение.


Ответы (1 шт):

Автор решения: Grundy

В данном случае для получения значения символов можно воспользоваться функцией symbol-value

(mapcar #'symbol-value lst) => (1 2 3))
→ Ссылка