Rakudo Star 2012.06 released

2012-06-30

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
  • regexes use; some parsing bugs are fixed as a result
  • p6doc is now shipped with Rakudo Star. It is a small collection of user-oriented documentation, along with the `p6doc` script for viewing them.

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:

  • macros
  • 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 [email protected].

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 protected] mailing list, or join us on IRC #perl6 on freenode.