[<<][libprim][>>][..]
Sun Oct 10 19:24:21 CEST 2010

CALL and RETURN

So effectively, we're implementing a fairly standard CALL and RETURN
with the following additions:

     - CALL environment pointer
     - RETURN restores environment pointer

How does this then lead to proper tail calls?  If after a sequence of
CALLs to build an environment (the RHSs of `let*') an application is
invoked, there is no frame created: only the environment changes as it
comes from the closure, but the continuation stack is "passed on".

WOW.

I finally got it!




[Reply][About]
[<<][libprim][>>][..]