Skip to content

Commit

Permalink
Add first draft of 2012.02 announce.
Browse files Browse the repository at this point in the history
  • Loading branch information
jnthn committed Feb 28, 2012
1 parent 419a68c commit 0a79ced
Showing 1 changed file with 101 additions and 0 deletions.
101 changes: 101 additions & 0 deletions skel/docs/announce/2012.02
@@ -0,0 +1,101 @@
Announce: Rakudo Star - 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 February 2012 release of "Rakudo Star", a useful and
usable distribution of Perl 6. The tarball for the February 2012
release is available from <http://github.com/rakudo/star/downloads>.

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 #49 of the
Rakudo Perl 6 compiler [1], version 4.1 of the Parrot Virtual
Machine [2], and various modules, documentation, and other
resources collected from the Perl 6 community.

Here are some of the major improvements in this release over the
previous distribution release.

* The FatRat type is implemneted, and Rat arithmetic now properly
defaults to Num if the denominator is too big

* Object hashes are implemented, and can be declared with the syntax
my %h{Any} (for a hash with keys of type Any)

* The <Some::Grammar::rulename> syntax is now implemented in regexes;
<foo> can also be used to call predeclared lexical rules

* The Int($x) coercion syntax is implemented

* &rename and &copy are now implemented

* Improvements to the reduction meta-operator (order of magnitude faster,
some parsing issues fixed)

* The <prior> regex built-in is now available, and matches whatever the
last successful match matched

* A $match.make(...) method is available to set the AST for a match
object not stored in the $/ variable

* Improved backtraces

This release also contains a range of bug fixes, improvements to error
reporting and better failure modes. Many more exceptions are thrown
as typed exceptions.

Due to continued evolution of and convergence with the Perl 6 spec, there
are some changes to existing functionality that may affect your code:

* You may no longer use the $.x form in submethods and attribute
initializers, as per spec; use the non-virtual $!x instead.

* The LHS of the xx operator is now thunked

* .conjugate is now called .conj

* Enumeration values .gist to just the key, not the full name

* An empty Buf is now False in boolean context

Currently, we have maintained backwards compatibility with some
changed pieces of syntax, but will drop them in an upcoming release:

* "<...>" in proto regex bodies; now this should be written "*"

* The use of "**" with a separator in regexes; this is now done by
using "%" or "%%" on another quantifier

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:
* pack and unpack
* macros
* threads and concurrency
* Unicode strings at levels other than codepoints
* pre and post constraints, and some other phasers
* interactive readline that understands Unicode
* non-blocking I/O
* much of Synopsis 9

There is a new online resource at http://perl6.org/compilers/features
that lists the known implemented and missing features of Rakudo Star
2012.02 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.
An updated 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.

[1] http://github.com/rakudo/rakudo
[2] http://parrot.org/

0 comments on commit 0a79ced

Please sign in to comment.