Rakudo Star Release 2016.04

2016-04-25

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

This is the second post-Christmas (production) release of Rakudo Star and implements Perl v6.c. It comes with support for the MoarVM backend (all module tests pass on supported platforms).

Please note that this release of Rakudo Star is not fully functional with the JVM backend from the Rakudo compiler. Please use the MoarVM backend only.

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

Some of the new compiler features since the last Rakudo Star release include:

  • Much improved REPL with multi-line support.
  • Native string arrays.
  • Values in the environment value hash are now allomorphic.
  • Blob is now a proper value type.
  • Many Time & Memory efficiency improvements including faster accessor/mutators, sorting and object comparison.
  • Can now uninstall modules.
  • Modules can now be shared between rakudo versions.
  • "magic" inc/dec cleaned up.
  • utf8-c8 encoding crashes fixed.
  • pre-comp locking fix.
  • missing module error mentions line number.
  • The usual assortment of bug fixes and error message improvements.

Notable changes in modules shipped with Rakudo Star:

  • Bailador: removed and available in the ecosystem.
  • ufo: removed and available in the ecosystem.
  • Native::Resources: helper for native code added.
  • DBIish: Better Oracle & Postgres support, more GLRish API and many other fixes.
  • Shell::Command: deprecated "which".
  • Panda: Fix issues with paths containing spaces, '--help' option added etc.
  • p6doc: no longer creates empty FakeDir directories (was workaround for now fixed precomp bug).
  • JSON::Fast: fix for undefined value.
  • NativeHelpers::Blob: version 0.1.8 with improved windows tests.
  • PSGI: allow output to be a Buf.
  • Shell::Command: travis fix and deprecate which on Windows and Mac.
  • * And much more.

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
  • non-blocking I/O (in progress)
  • some bits 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, presentations, reference materials, design documents, and other supporting resources. Some Perl 6 tutorials are available under the "docs" directory 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.