microscheme
microscheme copied to clipboard
Add let*
This adds support for the let*
form to Microscheme by turning:
(let* ((x (f ...))
(y (g x ...))
(z (h x y ...)))
body)
into:
((lambda (x)
((lambda (y)
((lambda (z)
body)
(h x y ...))
(g x ...))
(f ...))
It seems to be working fine, and the generated assembly looks similar to what is generated for let
.
However I don't know if there is a way to have a higher level view of what is generated. For example, seeing the final AST generated by the parser would help detect possible issues or optimizations.