[plt-scheme] compiler/zo-parse questions
I'm working on a project involving compiler/zo-parse,
http://docs.plt-scheme.org/mzc/decompile.html
I'm trying to understand what max-let-depth is used for; it exists
under the toplevel, module, and lambda forms. How does the mzscheme
runtime use this value?
There's also a curious note for several of the forms with the
following structure:
After <X> is evaluated, the stack is restored to its depth from
before evaluating <X>.
I don't understand this yet. I suspect that, under some
implementations, a frame is pushed onto the stack to make it possible
to capture the current continuation, and the note is saying what
requirements are necessary to preserve tail calls. Is that the way to
interpret the comment?
Thanks!