On Sat, Jan 26, 2008 at 01:37:23AM -0800, Andrew Lentvorski wrote:
David Brown wrote:
On the other hand, Scheme implements call-with-current-continuation which
has a pervasive impact on the complexity of the implementation, or at
least
if it cares about performance.
call/cc has a pervasive impact even if you *don't* care about performance.
If you don't care about performance, you just make all call frames heap
objects. Then call/cc is real easy to implement. I guess you could still
call this a pervasive impact, though.
I find this a practical way to handle it:
$ bigloo --help
...
-call/cc Enable call/cc function
...
They also provide a 'bind-exit' construct that is like call/cc, but you
can't call the continuation once the bind construct has exited scope. It
allows for the non-local exit aspect of call/cc without the code generation
penalty needed for call/cc.
David
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg