Итак, теперь у меня есть довольно полный интерпретатор LISP (схема), написанный в haskell. Просто для удовольствия я хочу попытаться скомпилировать его в LLVM. Большая часть генерации кода кажется довольно прямой, но я не понимаю, как сгенерировать код для выражения lambda
(вид важного в LISP;)) и как управлять кучей, когда я сталкиваюсь с define
.
Как я могу сгенерировать код для этих выражений?
Примечание. Я могу сгенерировать код для тела выражения лямбда. Что меня смущает, так это "поместить" этот код где-нибудь и сделать его вызываемым.