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