Update to Rakudo Star Release 2015.03

2015-03-21

A useful, usable, "early adopter" distribution of Perl 6

On behalf of the Rakudo and Perl 6 development teams, I'm happy to announce the March 2015 release of "Rakudo Star", a useful and usable distribution of Perl 6. The tarball for the March 2015 release is available from http://rakudo.org/downloads/star/.

This Rakudo Star release comes with support for the MoarVM backend (all module tests pass on supported platforms) along with experimental support for the JVM backend (the modules Bailador, Digest::MD5 and Grammar::Profiler::Simple are known to fail tests).

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 2015.03 of the Rakudo Perl 6 compiler, version 2015.03 of MoarVM, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new compiler features added to this release include:

  • several renames of semi-internal methods. Please refer to the Rakudo 2015.03 release notes for the full list
  • Allow Buf.AT-POS to return an l-value.
  • Implement method ^foo($) { ... } syntax.
  • Implemented PairMap (the simple case only, for now).
  • Implemented .antipairs (pairs with value => key).
  • Implemented pairup for creating pairs from lists.
  • Implemented LEXICAL, OUTERS and CALLERS pseudo-packages
  • Add array[T], usable for native int/num (MoarVM only for now)
  • Other native improvements, e.g. my int $a; $a++
  • Implement IO::Path.resolve on r-m/POSIX

In future, the nqp:: namespace willl only be available after a declaration like use nqp;.

Changes to modules included in Rakudo Star:

  • DBIish supports local Sockets on mysql, and now correctly handles returned NULL values in the Pg backend
  • doc ships with much more documentation

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:

  • advanced macros
  • threads and concurrency (in progress)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O (in progress)
  • much of Synopsis 9 and 11

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo's backends 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. A 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.