aboutsummaryrefslogtreecommitdiff
path: root/docs/announce/2013.03.md
blob: 8b08ddcec62cf5d9cc5790c4de9a14b0dbd71460 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Announce: Rakudo Star Release 2013.03

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

[release 2013.03]:
    https://github.com/rakudo/rakudo/blob/nom/docs/announce/2013.03.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:

 * ...
 * ...

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

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

  * postcircumfix:`<[ ]>` and postcircumfix:`<{ }>` will become
    multi-subs rather than multi-methods. Both at_pos and at_key will
    remain methods.

  * Unary hyper ops currently descend into nested arrays and hashes.
    This will change to make them equivalent to a one-level map.

  * The Str.ucfirst builtin is deprecated; it will be replaced by
    Str.tc.

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

  * The ?-quantifier on captures in regexes currently binds the
    capture slot to a List containing either zero or one Match
    objects; i.e., it is equivalent to "`** 0..1`".  In the future,
    the ?-quantifier will bind the slot directly to a captured Match
    or to Nil.  Existing code can manage the transition by changing
    existing ?-quantifiers to use "`** 0..1`", which will continue to
    return a List of matches.

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

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.