Rakudo Star 2013.09 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the September 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the September 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

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 2013.09 of the Rakudo Perl 6 compiler, version 5.5.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • candidate argument to bless removed (per spec change)
  • @a.VAR.name and %h.VAR.name implemented
  • The $var.++ and $var.() syntaxes work
  • basics of tr/// implemented
  • Sets/Bags/KeySet/KeyBag now up to spec, except for the empty set symbol ‘∅’

This release also contains a range of bug fixes, improvements to error reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM backend from the Rakudo compiler. While the JVM backend mostly implements the same features as the Parrot backend, many bits are still missing, most prominently the native call interface. We hope to provide a JVM-based Rakudo Star release soon.

The following features have been deprecated or modified from previous releases due to changes in the Perl 6 specification, and are planned to be removed or changed as follows:

  • postcircumfix:<[ ]> and postcircumfix:<{ }> will become
    multi-subs rather than multi-methods IN THE NEXT RELEASE of Rakudo
    Star. Both at_pos and at_key will remain methods.

  • All unary hyper ops currently descend into nested arrays and
    hashes. In the future, those operators and methods that are
    defined “nodal” will behave like a one-level map.

  • The Str.ucfirst builtin is deprecated; it will be replaced by
    Str.tc. In the next Rakudo Star release, use of Str.ucfirst will actually
    generate a warning upon first usage.

  • Leading whitespace in rules and under :sigspace will no longer be
    converted to <.ws>. For existing regexes that expect this
    conversion, add a <?> in front of leading whitespace to make it
    meta again.

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
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O
  • 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 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 rakudobug@perl.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. 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 perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

About moritz

Just another Perl 6 hacker
This entry was posted in Uncategorized and tagged , . Bookmark the permalink.