in reply to Re^4: A "Perl-7" that I could actually USE right now
in thread A "Perl-7" that I could actually USE right now

Sept 2014 update:


(Rewritten to be more useful for folk reading this comment out of its original context.)

use v5 is a new (started April 2013) project aiming to build a P5 reimplementation.

It builds on Rakudo/NQP, a new open source compiler/ast/vm toolchain used to implement Perl 6.

Apart from writing "use v5;" at the top of files, using v5 doesn't require that you write or read any Perl 6 code. You just write Perl 5 code and run it. Results will of course depend on how far the project has progressed.

v5's current goal is to pass as much of the non-XS parts of the p5p perl 5 test suite as possible. It will likely take years to achieve substantial coverage, assuming it one day does. At the time of writing this comment it's passing 1,000 or so of the 40,000 or so tests in the suite. See STATUS for the current passcount.

The host compiler toolchain includes a backend which is slated to embed libperl and support use of existing XS modules. It's not clear to what degree, if any, v5 can or will be able to make use of this to extend its utility to cover scenarios involving use of XS modules.

The v5 project builds on parsing features (grammars) and a parser (STD) designed by Larry Wall.

For more info watch this 20 minute video or view the v5 github repo or the use v5 blog or visit the IRC channel #perl6 on freenode.


Comment on v5, a reimplementation of P5 (was Re^5: A "Perl-7" that I could actually USE right now)
Re: v5, a reimplementation of P5 (was Re^5: A "Perl-7" that I could actually USE right now)
by chromatic (Archbishop) on Jul 01, 2013 at 21:32 UTC
      It took FROGGS about 6 weeks (about May 19th) to pass the first 400 tests, 4 weeks (about June 19th) to pass the next 400, and 2 weeks for the next 400.

      Compare with the Rakudo/JVM port. jnthn began the branch around 20th April. He got to "hello world" on May 14th. The port was passing about 60% as many tests as the Parrot port by mid June. Today it's at 90%. The v5 project isn't going to go as fast as that, but I doubt it's close to the first inflexion of the S-curve of progress.

      I'm familiar with your complaints about jnthn's nom predictions. However, I haven't taken your word for it, nor have I focused on that single datapoint, but have instead watched #perl6 daily for 2 years. (I did not begin to speak up here at PM about P6 until I'd been doing that for around 6 months.) The P6 project, including jnthn, has been consistently delivering on the projections I've seen made internally over the last 2 years. I am confident that v5 will grow in to another useful option available to Perl 5 programmers over the next few years, even when one or more nqp backends deliver some level of XS compatibility.

      The context for my comments was clearly not things folk can use right now to rely on -- or even get stuff done unreliably. sundialsvc4's language about something he "could actually USE right now" isn't, ironically, about something he could actually use right now. It's about something he wants in the future. The same is true with Ralesk's comment. S/he's talking about there being an experiment to produce something new. But it is clear that v5 isn't someone just dreaming; it was Larry's idea since near the start of the P6 project, there's now substantive code, there's a good architecture, there's a plan, you can run it right now.

      Really this is about the classic virtues of laziness, impatience and hubris that Larry invented as guidelines for creating a better future. The laziness that says we want P5 to run faster, out of the box, without fiddling. The impatience that says "why not start now?" The hubris that's about thinking we can get it done rather than fearing the future.

      It is not about the laziness you are demonstrating of reacting only to first impressions, the impatience you are demonstrating that leads one to act before thoroughly investigating or caring about others, or the hubris you are demonstrating of believing you're a god because you're famous.

      I glanced at another comment you've posted that appears to be full of shouting. I've decided I'm not going to bother to read it for a few days. If it contains something you would like to see a response to quickly, try posting again with less bolded text. Thanks.

        It is not about the laziness you are demonstrating of reacting only to first impressions, the impatience you are demonstrating that leads one to act before thoroughly investigating or caring about others, or the hubris you are demonstrating of believing you're a god because you're famous.

        You're a real charmer, but even your sweet talking doesn't make the nascent v5 "compatible with most non-abusive uses of p5", no matter how much you try to convince people that you know what Ralesk really meant more than he did.

        Also where do I claim my Poe's Law reward?

Reaped: Dup:Please reap.
by NodeReaper (Curate) on Jul 01, 2013 at 21:54 UTC
Re: v5, a reimplementation of P5 (was Re^5: A "Perl-7" that I could actually USE right now)
by BrowserUk (Pope) on Jul 01, 2013 at 21:54 UTC
    Why do you summarily reject a project that so perfectly matches what you suggest?

    You should take time out and study the backlash effects of misleading advertising.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      But but but some guy is on the same IRC channel with the author of that project, and he said maybe it's time to think seriously about productizing the project. After all, all of the readme file of the project is written in the enterprise-class English language which has proven its worth over centuries of use for serious business.

      You too can join the fun, if you're not a nattering nabob of negativity, if you join the #whatever IRC channel. As raiph himself predicted over four years ago, it's right on schedule to start getting actual users who are interested in contributing to this fun and important project which some other guy has called "vital to the healthy and continued future of BOTH Perl 5 and Perl 6!".

      Even better, the author if this project is currently exploring ways to make it more interesting than the calculator app included with your phone.

      As you can see, it is both practical and fun, and it is further more inevitable that this time, a Perl 6 project will deliver something useful.

      I was responding to the comment:

      It would indeed be a really interesting experiment to create something thatís compatible with most non-abusive uses of p5, but is better defined and cleaner on the inside.

      I thought and still think that v5 perfectly matches those words. (With the exception that it's not an experiment; it's another step toward completion of the overall P6 vision; but it still matches Ralesk's description). So I mentioned v5.

      Folk can and often will twist whatever is said to match their worldview. But I will not be ruled by the fear that chromatic's P6 wounds might still not have healed, nor will I put much store in AM trolls that get negative votes. (I take all feedback into account, but let the silent word of the monastery, in the form of votes, guide me more than anything else.)

        I thought and still think that v5 perfectly matches those words.

        No XS means no DBI and no DateTime. No XS also means no POSIX, no Fcntl, no Data::Dumper, no Storable, no Encode, no List::Util, and no Socket, to name a few core modules.

        I don't know what kind of software you write, but without those modules most of the stuff I've written won't even load, let alone run, including some one-liners.

        I'm sure it's a fun experiment for the author, but I could only write toy programs with it. I think I am not so alone in this.

        I will not be ruled by the fear that chromatic's P6 wounds might still not have healed...

        I shouldn't have to keep telling #perl6 this, but I recommend you spend a lot less time caring about how you imagine I might feel and more time understanding the technical concerns of people you're trying to market to.

        My post was carefully measured to avoid the "rabidly anti-P6" charge, which if you take the time to look, I am not.

        Disillusioned, disheartened, twice 10 times shy and skeptical maybe; but not anti-P6.

        I thought and still think that v5 perfectly matches those words.

        That's where the falseness comes in. It implies that you've taken "use" to mean 'play with', 'experiment', 'try out'. That isn't "use".

        And the v5 project shows the same naivety and unnecessary flexibility that has hallmarked every one of the sub-projects that surround and make up P6.

        Why is it necessary (or even useful) to have it enabled at block scope?

        That just makes it 10 times more complicated than if it was done on a per-file basis. If existing P5 modules could be loaded and interoperate with P6 code, that would answer everyones prayers. And it might actually be doable in a reasonable time-frame. I see no benefit (beyond maybe a little one-off wow factor) of mixing P5 and P6 code in the same file. Makes no sense.

        Another example of misleading information

        The SameFringe example posted at Rosetta. Does any one of the various P6(ish) implementations run that example lazily?

        Any of them? Even semi-lazily (batched) as hinted at in the writeup?

        Or is every current implementation of take & gather, just push to a hidden array and then iterate that array?


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.