[plt-scheme] Behind the scenes, is everything running using continuation passing style?

From: Jon Zeppieri (zeppieri at gmail.com)
Date: Wed Nov 14 00:37:44 EST 2007

On 11/14/07, Grant Rettke <grettke at acm.org> wrote:
>
> I took it then that when you call call/cc, you are simply exposing
> access to the current continuation that is going to be called after
> the current function has finished evaluation.
>
> Behind the scenes, is everything running using continuation passing style?

That depends on the implementation.  In the case of PLT, the answer is
no.  There is a scheme compiler named Chicken, which does perform CPS
transformation on source *and* actually uses the CPS continuations in
its call/cc.  That's an important point, by the way: even compilers
that do perform CPS transformations (and I don't believe there are
many of these any more) do not necessarily use the CPS continuations
to implement call/cc.


Posted on the users mailing list.