Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^3: MoarVM update

by Jenda (Abbot)
on Sep 12, 2013 at 23:38 UTC ( [id://1053813]=note: print w/replies, xml ) Need Help??


in reply to Re^2: MoarVM update
in thread MoarVM update

I see. So NotQuitePerl is one week from passing one directory of its tests, right? And the NotQuitePerl, "an implementation of a subset of the Perl 6 language which was originally intended to help bootstrap the implementation of Perl 6", will take a few years to pass the tests on the virtual machine that's supposed to replace the failed attempt at creating the end of all virtual machines. How long till Perl6 passes its tests then? Those few years plus what? Another few years? What's the current estimate?

Update: and how does that mix with your statement that "I can see the P6 team aiming at having a solid 6.0.0 beta that adds p5interop, compact arrays, concurrency, async IO, unicode, macros, module versioning, better libs, better module installer, much better performance, complete documentation, and user support by YAPC::NA 2014." from Re^4: A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot of Aug 05, 2013?

Wait! You said "aiming at", not "hitting". I can see myself aiming at dating Emma Watson by this year's Christmas.

Jenda
Enoch was right!
Enjoy the last years of Rome.

Replies are listed 'Best First'.
Re^4: MoarVM update
by raiph (Deacon) on Sep 13, 2013 at 17:23 UTC
    I see. So NotQuitePerl is one week from passing one directory of its tests, right?

    If anyone is interested in such details1, please visit #moarvm and ask questions.

    NotQuitePerl, "an implementation of a subset of the Perl 6 language which was originally intended to help bootstrap the implementation of Perl 6"

    Fwiw that quote is from the doc about a fork of NQP created as part of the Parrot project. This is not the same as the NQP maintained by the Perl 6 project.2

    {NQP} will take a few years to pass the tests on {MoarVM}

    That's presumably drawn from my statement, not a comment made by an NQP dev. It is, explicitly, a guess, not an estimate. A key MoarVM dev has informally disagreed with my guess, saying that he thinks NQP/MoarVM will pass the NQP test suite "soon".3

    How long till Perl6 passes its tests then? Those few years plus what? Another few years? What's the current estimate?

    My guess is never.

    Does P5 pass every test for every platform it runs on? Or does it have some skips and todos? Does p5 culture accept creation of tests for features that are not expected to work in some circumstances for years to come? (P6 culture encourages such tests.)


    1 So we're talking here of just NQP/MoarVM, not NQP in general. (The results of test runs on various platforms need to be considered separately, even though the NQP test suite, and most of the code implementing NQP, is identical.)

    jnthn's estimate was that NQP/MoarVM was about one week away from passing the nqp directory of tests which contains 80 files, which is more than the rest of the NQP test suite combined. It may be passing other directories already; I don't know.

    2 The Parrot project incorporated a fork of NQP as a high level language for creating compilers on Parrot. The original and still actively developed NQP of the Perl 6 project is VM agnostic with an NQP/Parrot implementation that is distinct from Parrot's NQP. By far the most important "customer" of Perl 6's NQP at the moment is the Rakudo Perl 6 compiler.

    3 Consider the grammar engine that's part of NQP. Imagine some test in the NQP test suite for correct Unicode titlecasing (which is not always the same as uppercasing) of some obscure character which has a titlecase version that's different from its uppercase. Imagine the titlecasing fails in some obscure circumstances on an obscure platform that MoarVM runs on. Until someone has the tuits and talent to track down the problem and fix it, the test will likely be marked to be skip'd or todo'd for the obscure platform -- and NQP/MoarVM will not be passing 100% of its tests. I'm guessing it could take years for these sorts of things to get completely shaken out (if ever).

      Fwiw that quote is from the doc about a fork of NQP created as part of the Parrot project.

      That's misleading. By my recollection, the NQP version checked into Parrot was at least the third version of compiler tools created for Rakudo (depending on how you count PGE and TGE). Somehow someone convinced Parrot it was a good idea to write new and rewrite existing tools in that NQP, which meant that Parrot had to import snapshots of that NQP into the repository.

      The people who forked NQP were the Rakudo developers who wrote the previous NQPs.

      With the December 2010 plan to rewrite NQP, Parrot developers (including me) said "Wait a minute; you're breaking existing code!" and "Wait a minute; you're rewriting NQP to be VM agnostic, which is irrelevant at best to Parrot and will cause a lot of pain to Parrot for no real benefit."

      The NQP response was "We're going to do this anyway. Don't worry, we have no plans to replace Parrot. VM portability is important to us anyway."

      Does P5 pass every test for every platform it runs on?

      Perl 5 has users, documentation, stability, libraries, and a history of letting real people solve real problems with confidence that they can upgrade between releases with minimal disruption.

      P6 culture encourages such tests.

      When I worked on the P6 specifications, Larry did say that there were certain features that wouldn't make it into 6.0.0 but rather 6.1 or 6.2, but I don't believe that that ever included the tens of thousands of spectests Rakudo doesn't pass now—so I think you're playing semantic games by comparing edge cases in Perl 5 to missing features in P6.

        That's misleading. ... The people who forked NQP were the Rakudo developers who wrote the previous NQPs.

        Fairy nuff.

        The NQP response was "We're going to do this anyway. Don't worry, we have no plans to replace Parrot. VM portability is important to us anyway."

        That seems logical enough.

        Perl 5 has users ...

        Heh. I was simply asking if the Perl 5 test suite passed every test for every platform. I don't know how the p5 QA team approach use of the words and concepts of "passes", skips, todos, etc. and was trying to align my vocabulary with Jenda's.

        the tens of thousands of spectests Rakudo doesn't pass now—so I think you're playing semantic games by comparing edge cases in Perl 5 to missing features in P6.

        What tens of thousands of spectests?

        Fwiw, I wasn't trying to compare anything with edge cases in Perl 5. I was just trying to nail down vocabulary so I'd be comparing apples with apples in my exchange with Jenda.

      How long till Perl6 passes its tests then? Those few years plus what? Another few years? What's the current estimate?

      My guess is never.

      Does P5 pass every test for every platform it runs on? Or does it have some skips and todos?

      Oh boy… are we comparing something that’s not quite perl failing at even being not quite perl, to something that passes pretty much all its vast library of tests on every single release on every sane platform and even some less sane ones? Are we really having a pissing contest between two wildly different things with two immensely different requirements?

      Honestly, that just rubs me the wrong way.

        Sorry. That's not what I was trying to do. I was trying to find common vocabulary so we can compare like with like.

        I used the term "100%", and Jenda appears to have interpreted that to mean I was saying "pretty much all, ignoring inapplicable tests on obscure platforms". I wasn't expecting that. When I said "100%" I meant 100%. I have a tendency to be overly literal sometimes, and maybe this is an example.

      Passing all except a few unimportant/inapplicable tests on a single platform would be absolutely fine. Forget obscure platforms!

      Jenda
      Enoch was right!
      Enjoy the last years of Rome.

Re^4: MoarVM update
by raiph (Deacon) on Sep 13, 2013 at 20:49 UTC
    and how does that mix with your statement that "I can see the P6 team aiming at {list of features}"

    Based on what I know, it mixes fine. Perhaps you could pick out a single piece, perhaps two, which confuse you?

      You promised solid beta of Perl6 in less than a year, yet one of the prerequisities (i.e. NQP) is to take years. So what is that solid beta gonna run on? Seems it's not gonna be MoarVM.

      Jenda
      Enoch was right!
      Enjoy the last years of Rome.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1053813]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2024-04-25 12:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found