Конечно, в различных средах Лиспа эта возможность существовала десятилетиями.Компилятор Lisp обычно работает для каждой отдельной функции, а компилятор и система времени выполнения работают рука об руку.
При запросе чего-либо eval
среда времени выполнения Lisp пропускает список (структура данных).компилятору для компиляции.Компилятор может генерировать машинный код (или, может быть, байт-код, в зависимости от системы), и тогда функция будет вызываться на машинном уровне, как и любая другая функция в программе.