Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Call/cc requires lots of support from the VM, and if the VM isn't designed for it it'll cripple your performance if it isn't completely impossible. To implement call/cc you either need to allocate all stack frames on the heap (which requires an allocator and garbage collector optimised for very high rates of garbage production) or you need to be able to copy the stack when a continuation is captured. While you can implement heap-allocated activation records on the JVM and .net, it's much slower than using t
    • They aren't necessary if you have a decent set of control structures built in to your language.

      They aren't necessary if you have the precise set of control structures that you really need built into your language. That's slightly different from what you said.

      As for the Nickclarkulator's second question, Larry's put in a fair bit of work to make sure that it's possible to host a Perl 6 implementation without exposing continuations. Part of that may have been the desire to get Perl 6 running on the Perl 5 VM in a reasonably efficient way (though Simon and I figured out how to support continuations there at YAPC::2006).

      • Wait, does that mean PerlŠ6 itself does not have continuations?

        • I think (and Larry's really the one to ask here) that the goal is to support as much of the specification tests as possible without requiring continuations. They're still in the language though.