On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the June 2012 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the June 2012 release is available from https://github.com/rakudo/star/downloads.
In the Perl 6 world, we make a distinction between the language (“Perl 6”) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2012.06 of the
Rakudo Perl 6 compiler, version 4.5 of the Parrot Virtual Machine, and various modules, documentation, and other resources collected from the Perl 6 community.
Here are some of the major improvements in this release over the previous distribution release.
- Transitive longest-token matching in protoregexes
- Longest token matching for alternations
- Enhanced list and .map handling, including laziness fixes and performance improvements
- Can use an argument list with require
- Compile time errors in loaded modules now show a module loading backtrace
- String to number conversion now recognizes radix notation
- The &push and &unshift functions can now autovivify
- Rakudo is now compiled with the same regex engine that user-space
- p6doc is now shipped with Rakudo Star. It is a small collection of user-oriented documentation, along with the `p6doc` script for viewing them.
regexes use; some parsing bugs are fixed as a result
This release also contains a range of bug fixes, improvements to error reporting and better failure modes. More exceptions are thrown as typed exceptions, and more meta-model errors have been fixed to properly report line numbers.
This release contains an important breaking change to number parsing. Previously, a string such as “foo” would numify to 0. Now this will return a Failure.
There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Some of the not-quite-there features include:
- threads and concurrency
- Unicode strings at levels other than codepoints
- interactive readline that understands Unicode
- non-blocking I/O
- much of Synopsis 9
There is a new online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo Star 2012.06 and other Perl 6 implementations.
In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at firstname.lastname@example.org.
See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. An updated draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in the release tarball.
The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the email@example.com mailing list, or join us on IRC #perl6 on freenode.