Создание кода LLVM для 'lambda', 'define'

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

Как я могу сгенерировать код для этих выражений?

Примечание. Я могу сгенерировать код для тела лямбда-выражения. Меня смущает то, как «поместить» этот код куда-нибудь и сделать его вызываемым.

20
задан John F. Miller 15 June 2011 в 16:01
поделиться