Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Favorite function

Name: Anonymous 2010-01-10 22:29

printf

Name: Anonymous 2010-01-16 8:29

>>78
the effect of the code walker is localized
Yes, that's the problem. Continuations are dynamic, so a lexically limited transformation is useless. My biggest problem with CL is that it is riddled with 80% solutions ( http://www.scsh.net/docu/post/sre.html ).

you might as well have to make a choice between [the ways continuations should behave] when defining a language
Most special cases have a right way if you think about it a bit, and if you're not sure you can leave it undefined or make it an error to use continuations in that situation.

UNWIND-PROTECT
Cleaning up a resource after some code has executed indeed breaks down in the presence of continuations, but it is easy to correct by adding a finalizer to the resource and letting the GC do what it does best. See ``More simply addressing the confusion about UNWIND-PROTECT in Scheme'' at http://mumble.net/~campbell/blag.txt . Regrettably this has not yet made it into any Scheme standard.

Dynamic bindings [...] can cause trouble for [...] TCO
A bit, but it's still possible. This does not cause problems with full continuations, only with delimited ones ( http://list.cs.brown.edu/pipermail/plt-scheme/2009-June/033632.html ).

Implementing continuations naively can be quite an overhead on performance
As mentioned, stack copying has almost zero overhead and is quite simple.

one simple way of implementing continuations is recompiling special forms/operators to use CPS
That's not simple at all!

Offtopic: http://www.finalizer.net/

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List