So I now have a fairly complete LISP (scheme) interpreter written in haskell. Just for fun I want to try to have it compile down to LLVM. Most of the code generation seems pretty straight forward, but I'm at a loss as to how to generate code for a lambda
expression (kind of important in lisp ;) ) and how to manage the heap when I encounter a define
expression.
How might I generated code for these expressions?
Note: I can generate code for the body of the lambda expression, What is confusing me is how to "put" that code somewhere and make it callable.