Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add first draft of 2012.02 announce.
- Loading branch information
Showing
1 changed file
with
101 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 © 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/ |