Linked by David Adams on Sun 7th Dec 2008 02:03 UTC, submitted by HugoS
Thread beginning with comment 339485
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
OK, that makes things somewhat clearer--it sounds like the Parrot VM is moving in the same direction of the Java and .NET VMs in supporting a wide range of languages.
I also get the part about the test suite--it sounds similar to the idea behind the Java test suite.
What I still don't get, though, is what Perl 6 *the language* actually is. Is it similar to Perl 5, and what are the differences? Also, what did Wall mean about dialects being likely? To me it sounds like every programmer will effectively end up extending the language into their own personal dialect, which would make code review by others that much more painful... But I'm not sure I understood correctly...




Member since:
2007-09-22
I think the writer of the article didn't know to much about it either. Also Larry Wall wasn't clear enough, probably because most people there actually knew what he was talking about.
Perl 6 is based on Parrot, Parrot is a VM kinda like a Java VM, but for dynamically typed (script-)languages like Perl, JavaScript, PHP, LISP, Lua, Python, Ruby, etc. So Parrot is the part that can understand and run different languages.
With Parrot a language-syntax is defined in a definition file for the parser. So the language can be extended.
And I don't think the next version will break compatibility, the syntax of Perl 6 will be different, but Parrot will also understand Perl 5.
To make confusion full circle, Perl 6 actually has a formal language specification about what Perl 6 is, so there can be and are several implementations, one written in Haskel and one for Parrot. That's why there is also a Perl 6 test-suite to check the implementation.
Well, that's what I've come to understand about Perl6/Parrot.
Edited 2008-12-07 09:55 UTC