Hi Alex,

thank you for your feedback!

> For shallow binding, both finding the code of a function and the
> value of a variable is a single machine instruction like
>
>          ld A (C)  # Get VAL
>
> possibly followed by the call itself
>
>          jmp (A)  # Eval SUBR
>
> And this is basically all what the interpreter is doing. The actual work
> happens in the jumped-to functions.

I see.

The 64 bit picolisp uses the "C control stack" to call functions.
Isn't the call usually like the following?

   call (C)  # Eval SUBR

Is the call in the form:

   jmp (A)  # Eval SUBR

"just" an optimization for tail calls?

Cheers,

Tomas
-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to