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