http://www.perlmonks.org?node_id=872885


in reply to Re: What is Perl6?
in thread What is Perl6?

... the stuff that makes it all work is just there, at a more fundamental level on my computer which I don't have to think about.

Someone has to think about it.

Why is Parrot a good thing? Perl 5's internals won't support Perl 6, not without a huge amount of work. Add in the strong tendency for Perl 5 to remain as compatible as possible with Perl 1 code, and it's an immense engineering effort to consider trying to do so while providing the technical foundation to make Perl 6 possible.

Perl 6 has to run on something, and you have to build the features it needs (continuations, multiple dispatch, gradual typing, lexical scoping, overridable and scoped grammar modifications) somehow.

You need a VM which runs on the desired target platforms, which does not have license or patent encumbrances, which allows these features, and which permits the development and invention of these features with relative ease and as little performance penalty as possible. (If you can connect that VM to Perl 5 somehow, even better.)

As to why a specification for Perl 6 is a good thing, consider the fact that there is a single implementation of Perl 5 and that the specification for Perl 5 is, essentially, whatever that single implementation does and whatever unforeseen and incidental behaviors have accreted from the synthesis of various features p5p decides are worth supporting. That's one reason you don't see Perl 5 on the JVM or the CLR, for example.

With a specification for Perl 6 independent of any single implementation, volunteers will volunteer as volunteers do and can and will write multiple implementations of Perl 6. Thus you need individual names to refer to them.

Replies are listed 'Best First'.
Re^3: What is Perl 6?
by Anonymous Monk on Nov 22, 2010 at 06:21 UTC
    Is there an implementation that matches the complete spec currently. Which is stable, with libraries, documentation and tools around?

      No. Rakudo Star is the most complete implementation of the Perl 6 spec thusfar. If you read the Rakudo Star docs, this is pretty obvious, cuz they repeat it all over.

      I used to find the whole Perl 6 thing confusing years ago. I think the confusion probably originates from the fact that unlike other languages, Perl's never been about PR and world domination. It's about getting the job done. So you don't have Sun and Microsoft Beating each other up--and the need to adopt simpler naming simply hasn't been an issue. Perl's complicated enough that if you're gonna use Perl, this sort of thing is the least of your worries.

      Perhaps this is too laid back. Perhaps we need a glossy veneer for the press. But who has time for that? We're known to be the most lazy programmers out there. :)

        I think it's still too soon for marketing. Perl 6 is ready for those interested enough and the naming is not a problem for those. It's not yet ready "for the masses". Once it will be, we may worry about the exact naming of the distribution that we expect the people to install.

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

Re^3: What is Perl 6?
by Cody Fendant (Hermit) on Nov 27, 2010 at 06:35 UTC

    This is one of those things where you have to talk to me like I'm an idiot ...

    Perl 6 has to run on something ... You need a VM

    why do we need a Virtual Machine? Why does Perl 6 need one and Perl 5 doesn't? What does Perl 5 "run on"?

    As far as I'm concerned, with my obviously embarrassing levels of knowledge, my perl scripts don't "run on" something, they run by using the perl interpreter, and they "run on" my computer.

      Perl 5 runs on a virtual machine, but its ad-hoc , without formal spec...