Update to Rakudo Star Release 2015.01


On behalf of the Rakudo and Perl 6 development teams, I'm happy to announce the January 2015 release of "Rakudo Star", a useful and usable distribution of Perl 6. The tarball for the January 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 (some module tests fail). Three shipped modules are known to fail on Parrot (zavolaj (NativeCall), jsonrpc and doc)

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.01.1 of the Rakudo Perl 6 compiler, version 7.0.1 of the Parrot Virtual Machine, version 2015.01 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:

  • Many improvements to Java interop for the JVM backend
  • New simple way of creating an object hash: :{}
  • Substitution now supports assignment meta-op, e.g. s[\d+] += 2
  • Many memory and CPU optimizations
  • Supply.for deprecated in favour of Supply.from-list

Changes to modules included in Rakudo Star:

  • Bailador handles POST and URL params separately
  • DBIish has improved error reporting on SQLite
  • doc ships with much more documentation
  • panda has a new command installdeps
  • Pod::To::HTML now supports callbacks for code areas

Parrot support will likely be suspended or dropped from future Rakudo and Rakudo Star releases, starting with the February or March releases.

In the next Rakudo Star release, modules Math::RungeKutta and Math::Model will likely be dropped. They can still be installed with panda.

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

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 for the JVM and MoarVM backend)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O (in progress for the JVM and MoarVM backend)
  • 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.