|There's more than one way to do things|
Re^2: What is Perl 6?by chromatic (Archbishop)
|on Nov 22, 2010 at 04:21 UTC||Need Help??|
... 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.