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

Reply via email to