develooper Front page | perl.perl6.compiler | Postings from April 2012

Announce: Rakudo Star 2012.04 - a useful, usable, "early adopter"distribution of Perl 6

From:
Moritz Lenz
Date:
April 26, 2012 07:16
Subject:
Announce: Rakudo Star 2012.04 - a useful, usable, "early adopter"distribution of Perl 6
Message ID:
4F995891.9080907@faui2k3.org
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 2012.04.1 [0] of the
Rakudo Perl 6 compiler [1], version 4.3 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.

* much improved startup time

* much more robust module precompilation

* autovivification for arrays and hashes is implemented again

* many phasers like PRE, POST and REDO are now implemented

* improved support for calling C functions and modelling structs and 
arraysvia NativeCall.pm6

* now includes modules URI, LWP::Simple, jsonrpc and Bailador (a Perl 6 
port of Dancer)

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.

Some notable incompatible changes from the previous release include

  * the 'lib' directory is not included in the default module search 
path anymore.  You can manipulate the search path with the PERL6LIB 
environment variable

  * 'defined' used to be a prefix operator, and is now a regular 
subroutine. This means you must updated code that relies 'defined' 
taking only one argument. For example 'defined $x ?? $a !! $b' should be 
written as '$x.defined ?? $a !! $b' or 'defined($x) ?? $a !! $b'.

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
   * 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.04 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.

[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.04.1
[1] http://github.com/rakudo/rakudo
[2] http://parrot.org/



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About