## 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 October 2013 release of "Rakudo Star", a useful and usable
distribution of Perl 6. The tarball for the October 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.10] of the
[Rakudo Perl 6 compiler], version 5.9.0 of the [Parrot Virtual
Machine], plus various modules, documentation, and other resources
collected from the Perl 6 community.

[release 2013.10]:
https://github.com/rakudo/rakudo/blob/nom/docs/announce/2013.10.md
[Rakudo Perl 6 compiler]: http://github.com/rakudo/rakudo
[Parrot Virtual Machine]: http://parrot.org

Some of the new features added to this release include:

+ postcircumfix {} and [] are now implemented as multi subs rather than multi methods. + Add support for "is DEPRECATED", making it easy for early adopters to stay current.
+ Track multiple spec changes for various container classes.
+ Greatly reduce object creation during Regex parsing.
+ Various portability fixes.
+ qx// and run() now auto-quote correctly.
+ Allow #`[...]-style comments in regexes.
+ unlink() behaves like P5's, it deletes write-protected files on Windows.

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 notable 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:<{ }>` are now multi-subs rather
    than multi-methods. Both at_pos and at_key remain as 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 this Rakudo Star release, use of Str.ucfirst will actually
    generate a warning upon first usage.

* In the next release, leading whitespace in rules and under :sigspace will no
    longer be converted to `<.ws>`. For existing regexes that expect this
conversion now and in the future, add a `<?>` in front of leading whitespace
    to replicate the old behavior. (Adding `<?>` today will have no adverse
    effects on your code.)

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

We are also aware of these issues in the current release, which will be dealt
with in a future relase:

  * Whatever-currying of *<>, *{}, and *[] is currently broken.

  * You may experience some test failures running the rakudo
spectest. S16-filehandles/filestat.t will fail if you have Rakudo Star on a drive that does not record access times. S05-mass/charsets.rakudo.parrot
    will fail due to the tests being outdated.

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 <rakudo...@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-compi...@perl.org>
mailing list, or join us on IRC \#perl6 on freenode.

Reply via email to