Why?

I'll review the patch today. This is the first I've seen it. With that said, we hope to merge Chandon's GSoC work in the near future.

Update: Good luck convincing the maintainers of almost any other VM to make changes to support a Perl 6 implementation or to speed up a Perl 6 implementation. You're not getting changes in the JVM. You might be able to convince Mono to make specific changes. I'm not sure the DLR is an appropriate target; I don't know if it has sufficient low-level support for necessary features.

Citation needed.

"Any runtime for Perl 6 is going to end up looking a lot like Parrot." (chromatic, multiple times over the past three years)

You need a virtual machine which can support polymorphic data types, a metamodel with typed undefs, multiple dispatch, continuations, laziness, lexicals, roles, partial application, captures, positional and named calling conventions with defaults, first-class functions, resumable exceptions, lexical encapsulation, and a mutable grammar engine. Did I mention interoperability with other languages such as Perl 5?

You can play the Turing trump and argue that you can implement all of that on an appropriately powerful box running a bootstrapped Forth interpreter as specified circa 1978 and you might be technically correct, but you're going to spend a lot of time writing trampolines to support the pudding layer. People who want to do so are welcome to do so. I'm happy to answer questions about how such a virtual machine might look.

I can also assure you that any runtime for Perl 6 is going to end up looking very much different from the parrot we know today. It will need a garbage collector that doesn't switch off when we switch on threading. It will need a cross-platform JIT compiler. It will need to be installed into paths that contain spaces.

I suppose the question is whether another runtime can create enough trampolines to prop up the as-yet-unported pudding layer sooner than we can fix those bugs in Parrot.

Lots of things have changed in the world of virtual machines since parrot has started to fly.

Indeed, which is the entire purpose of the Lorito project within Parrot.


In reply to Re^5: Backend diversity for Rakudo by chromatic
in thread Backend diversity for Rakudo by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.