Stories
Slash Boxes
Comments
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 language is still changing, there is no spec . on 2008.03.17 5:09 nicholas

Submitted by nicholas on 2008.03.17 5:09
User Journal
nicholas writes "

"The language is still changing, there is no spec for the language, there are going to be differences between implementations that are essentially undefined behavior."

The Register has an article about Ruby.NET with a lot of quotes from the project manager, John Lam, such as the one above. However, the spec is not something they can do anything about, so they have no choice. But one that caught my eye was one they do have some choice over:

Some familiar features will not be implemented, however. "Call with current continuation, we're not implementing that. [Although] JRuby isn't either. ...

It makes me ask myself a couple of questions, but not being familiar with Ruby or .NET, I don't know the answer to either. Does my usually silent readership know:

  • How often is call with current continuation used in typical Ruby programs? Would its absence be noted frequently?
  • Why do both the .NET and Java VM implementations of Ruby choose to omit it? Are continuations something stonkingly hard to make work well on their VMs? Would such a problem constrain any attempts to make Perl 6 run nicely on the VMs?
"
Read More 1 comments
Comments: 1
This discussion was created as logged-in users only. Log in and try again!
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login
Loading... please wait.
  • If the VM has a call stack, then to implement continuations you need to construct a return callstack using first class objects, which are stored on the heap. Which in general means not using the VM's function call functionality for user functions. Sound like fun?

    There's a Java implementation of a JavaScript machine which does this - I forget its name.