Hey all, sorry this took so long but compiler is finally finished.
This is a monster pull request, but the code for the compiler should be fairly straightforward as I based it off of the compiler from the paper. The only big difference I believe is in the lambda case, I changed the next instruction from (return) to (halt) in the (compile body next). Troy and I decided this would be the best way to go about this, since there would be no guarantee that there would be a frame to return from.
Please take a look at my unit tests to check if I constructed the expressions correctly.Please also check if there are any mistakes or obvious edge cases I missed in my compiler implementation.
Hey all, sorry this took so long but compiler is finally finished.
This is a monster pull request, but the code for the compiler should be fairly straightforward as I based it off of the compiler from the paper. The only big difference I believe is in the lambda case, I changed the next instruction from
(return)
to(halt)
in the(compile body next)
. Troy and I decided this would be the best way to go about this, since there would be no guarantee that there would be a frame to return from.Please take a look at my unit tests to check if I constructed the expressions correctly. Please also check if there are any mistakes or obvious edge cases I missed in my compiler implementation.
Thanks!