Perl 6’s 15-year history is actually more than just the history of a programming language. The process has paralleled the development of the Rakudo virtual machine, an all-purpose engine for running interpreted languages, known as the Moar virtual machine. Over the Christmas break, the Rakudo Perl 6 was released.
While Rakudo Perl 6 is not the final Christmas release of Perl 6 that was promised earlier this year, it is a nearly complete implementation of the language. That does not mean that it is the official release of Perl 6. Rather, Rakudo Perl 6 #94 is simply an implementation of the language specification. As such, it includes all the tests that define Perl 6.c, the Christmas release version of the language.
As this is the first final release of the Perl 6 implementation in Rakudo, all 120,000+ tests are now frozen and will not be changing soon. This means Perl 6 users can test their code against the language’s specification, even before the final version of Perl 6 has arrived.
The language itself was, in theory, ready for general consumption on Dec. 24, but there is still work taking place on the project as issues are found in the wild. To quote the release blog for Perl 6, “Please be patient with Perl 6. Today we declare her to be a relatively competent being, but she is still just a teenager, y’know. When we’re very young, we’re just the age we are, but when we get to be teenagers, and go through all these hormonal changes, well, we start to oscillate. And the swings just get wider for a while. So when you’re 15, the swing is like plus-or-minus 10 years. One day you’ll act like you’re 25, and the next day like you’re 5 again.”
With that in mind, Perl 6 users are cautioned that this is the initial release, and that future updates will make things more stable.
With the release of Rakudo, however, this is the first time developers can build with Perl 6, and then validate their code with the compiler.