Commit 5f1cfd6b authored by Dominique Dumont's avatar Dominique Dumont

Imported Upstream version 2014.03.01

parent 971bbbf1
......@@ -27,6 +27,9 @@ N: Alex Elsayed
U: eternaleye
E: eternaleye@gmail.com
N: Alexander Moquin
U: Mouq
N: Allison Randal
D: Parrot Architect (0.4.6...)
E: allison@parrot.org
......@@ -47,6 +50,10 @@ W: http://perlbuzz.com/
S: McHenry, IL, USA
U: petdance
N: Arne Skjærholt
U: arnsholt
E: arnsholt@gmail.com
U: ask
N: Ask Bjørn Hansen
D: Keeps us running
......@@ -186,6 +193,10 @@ W: http://ingy.net/
S: Seattle, WA, USA
D: Make is() work like Perl 5; add .pm6 to extensions searched.
N: JD Horelick
U: jdhore
E: jdhore1@gmail.com
N: James E Keenan (Jim)
E: jkeenan@cpan.org
U: jkeenan
......@@ -258,7 +269,7 @@ D: Test.pm improvements, ticket testing
N: Larry Wall
E: larry@wall.org
U: larry
U: TimToady
N: Leopold Toetsch
U: leo
......@@ -369,6 +380,10 @@ U: tene
D: Minor Rakudo patches
E: tene@allalone.org
N: Tadeusz Sośnierz
U: tadzik
E: tadzikes@gmail.com
N: Timo Paulssen
U: timo
U: timotimo
......@@ -405,16 +420,4 @@ N: Zach Morgan
E: zpmorgan@gmail.com
D: Rakudo patch
N: Tadeusz Sośnierz
U: tadzik
E: tadzikes@gmail.com
N: Arne Skjærholt
U: arnsholt
E: arnsholt@gmail.com
N: JD Horelick
U: jdhore
E: jdhore1@gmail.com
=cut
......@@ -35,6 +35,7 @@ MAIN: {
'backends=s', 'no-clean!',
'gen-nqp:s',
'gen-moar:s',
'git-protocol=s',
'gen-parrot:s', 'parrot-option=s@',
'parrot-make-option=s@',
'make-install!', 'makefile-timing!',
......@@ -60,6 +61,8 @@ MAIN: {
}
my %backends;
if (defined $options{backends}) {
$options{backends} = join ",", keys %known_backends
if uc($options{backends}) eq 'ALL';
for my $b (split /,\s*/, $options{backends}) {
$b = lc $b;
unless ($known_backends{$b}) {
......@@ -125,7 +128,11 @@ MAIN: {
my $launcher = substr($default_backend, 0, 1) . '-runner-default';
print $MAKEFILE "all: ", join(' ', map("$_-all", @prefixes), $launcher), "\n";
print $MAKEFILE "install: ", join(' ', map("$_-install", @prefixes), $launcher . '-install'), "\n";
for my $t (qw/clean test spectest coretest/) {
print $MAKEFILE "clean: ", join(' ', map "$_-clean", @prefixes), "\n";
print $MAKEFILE "\t\$(RM_F) perl6\$(EXE) perl6\$(BAT)\n\n";
for my $t (qw/test spectest coretest localtest/) {
print $MAKEFILE "$t: ", join(' ', map "$_-$t", @prefixes), "\n";
}
......@@ -288,7 +295,7 @@ General Options:
--help Show this text
--prefix=dir Install files in dir; also look for executables there
--backends=parrot,jvm,moar
Which backend(s) to use
Which backend(s) to use (or ALL for all of them)
--gen-nqp[=branch]
Download and build a copy of NQP
--gen-moar[=branch]
......@@ -300,6 +307,8 @@ General Options:
--parrot-make-option='--option'
Options to pass to Parrot's make, for example:
--parrot-make-option='--jobs=4'
--git-protocol={ssh,https,git}
Protocol used for cloning git repos
--makefile-timing Enable timing of individual makefile commands
Configure.pl also reads options from 'config.default' in the current directory.
......
Build requirements (Installing from source)
For building Rakudo you need at least a C compiler, a "make" utility,
and Perl 5.8 or newer. To automatically obtain and build Parrot you
may also need a a git client, which is also needed for fetching the
test suite.
and Perl 5.8 or newer. To automatically obtain and build Parrot or MoarVM
as well as NQP, you may also need a a git client, which is also needed
for fetching the test suite.
Building rakudo can take up to 1G of memory when compiling for the
parrot runtime.
Building rakudo can take up to 1.5G of memory when compiling for the
parrot runtime. The requirements are likely higher for the JVM backend
and 1G is sufficient to build everything for the MoarVM backend.
In order to fully support Unicode, you'll also want to have the ICU
library installed (<http://site.icu-project.org/>). Rakudo can run
without ICU, but some Unicode-related features do not work properly.
In order to fully support Unicode on parrot, you'll also want to have
the ICU library installed (<http://site.icu-project.org/>). Rakudo on
parrot can run without ICU, but some Unicode-related features do not
work properly. Rakudo on JVM and MoarVM don't need ICU.
To get readline support (command history and editing), you'll also
need the "libreadline-dev" library.
......@@ -26,14 +28,14 @@
Building and invoking Rakudo
If you're wanting the bleeding-edge version of the Rakudo Perl 6
compiler, we recommend downloading Rakudo directly from Github
compiler, we recommend downloading Rakudo directly from Github
and building it from there.
$ git clone git://github.com/rakudo/rakudo.git
If you don't have git installed, you can get a tarball or zip of Rakudo
from <http://github.com/rakudo/rakudo/downloads>. Then unpack the
tarball or zip.
If you don't have git installed, you can get a tarball of Rakudo
from <http://rakudo.org/downloads/rakudo/>. Then unpack the
tarball.
If you already have cloned Rakudo from github, you can get (pull) the
most recent version from github like this:
......@@ -44,11 +46,15 @@
Once you have an up-to-date copy of Rakudo, build it as follows:
$ cd rakudo
$ perl Configure.pl --gen-parrot
$ perl Configure.pl --gen-parrot # to get only the parrot backend
$ perl Configure.pl --gen-parrot --gen-moar # to get parrot & moar
# or to get parrot, moar and jvm:
$ perl Configure.pl --gen-parrot --gen-moar --backends=parrot,moar,jvm
$ make
This will create a "perl6" or "perl6.exe" executable in the current
(rakudo) directory. Note that if you have multiple (Perl 5) "perl"s in
(rakudo) directory. Additionally, for each selected backend, there will
be a perl6-* binary. Note that if you have multiple (Perl 5) "perl"s in
your path, you may need to use a fully qualified path to the appropriate
executable (or update your PATH environment variable).
......@@ -64,6 +70,9 @@
the "install/bin" directory locally, no additional root
privileges necessary.
If you want to have perl6, nqp, parrot, and moar installed into a
different directory, you may supply --prefix= to Configure.pl.
The "--gen-parrot" above option tells Configure.pl to automatically
download and build the most appropriate version of NQP and Parrot
into local "nqp/" and "parrot/" subdirectories, install NQP and Parrot
......@@ -71,7 +80,7 @@
It's okay to use the "--gen-parrot" option on later invocations of
Configure.pl; the configure system will re-build NQP and/or Parrot
only if a newer version is needed for whatever version of Rakudo
you're working with.
you're working with. The --gen-moar flag works the same way.
If you already have Parrot installed, you can use
"--with-parrot=/path/to/bin/parrot" to use it instead of
......@@ -79,7 +88,7 @@
development environment. Similarly, if you already have NQP
installed, you can specify "--with-nqp=/path/to/bin/nqp"
to use it. (Note that this must be NQP, not the NQP-rx that
comes with Parrot.)
comes with Parrot.) Also, "--with-moar" does what you'd expect.
The versions of any already installed NQP or Parrot binaries must
satify a minimum specified by the Rakudo being built -- Configure.pl
......@@ -90,16 +99,16 @@
Once built, Rakudo's "make install" target will install Rakudo and its
libraries into the directories specified by the Parrot installation
used to create it. Until this step is performed, the "perl6"
executable created by "make" above can only be reliably run from
the root of Rakudo's build directory. After "make install" is
performed, the installed executable can be run from any directory
(as long as the Parrot installation that was used to create it
remains intact).
used to create it or whatever you specified with the --prefix flag.
Until this step is performed, the "perl6" executable created by "make"
above can only be reliably run from the root of Rakudo's build directory.
After "make install" is performed, the installed executable can be run
from any directory (as long as the Parrot and/or MoarVM installations that
were used to create it remain intact).
If the Rakudo compiler is invoked without an explicit script to run, it
enters a small interactive mode that allows Perl 6 statements to be
executed from the command line.
executed from an interactive prompt.
See the manual page ("docs/running.pod") for more about command-line
options.
......@@ -114,7 +123,7 @@
$ cd rakudo
$ rm -r install
$ git pull
$ perl Configure.pl --gen-parrot
$ perl Configure.pl --gen-parrot # and whatever else you'd like
$ make
Or, in case you are really stuck, start with a fresh source tree:
......@@ -132,14 +141,11 @@
the "roast" repository <http://github.com/perl6/roast/> and run all
of these tests that are currently known to pass.
If you want to automatically submit the results of your spectest run to
a central server, use "make spectest_smolder" instead. You need the
Perl 5 module TAP::Harness::Archive and an active internet connection
for that. The smoke results are collected at
<http://smolder.parrot.org/app/projects/smoke_reports/5>
You can compare your own results to the results of the daily runs in
<https://github.com/coke/perl6-roast-data/>.
At present we do not have any plans to directly store the official test
suite as part of the Rakudo repository, but will continue to fetch it
suite as part of the Rakudo repository, but will continue to fetch it
from the roast repository. Releases of Rakudo get a snapshot of
the roast repository as of the time of the release.
......
......@@ -62,6 +62,8 @@ docs/announce/2013.10.md
docs/announce/2013.11.md
docs/announce/2013.12.md
docs/announce/2014.01.md
docs/announce/2014.02.md
docs/announce/2014.03.md
docs/architecture.html
docs/architecture.svg
docs/ChangeLog
......@@ -86,7 +88,7 @@ lib/Pod/To/Text.pm
lib/Test.pm
LICENSE
MANIFEST
README
README.md
src/core/Any.pm
src/core/Array.pm
src/core/array_slice.pm
......@@ -199,6 +201,7 @@ src/gen/README
src/main.nqp
src/Perl6/Actions.nqp
src/Perl6/Compiler.nqp
src/perl6-debug.nqp
src/Perl6/Grammar.nqp
src/Perl6/Metamodel/Archetypes.nqp
src/Perl6/Metamodel/ArrayType.nqp
......@@ -378,6 +381,14 @@ t/spec/integration/advent2009-day22.t
t/spec/integration/advent2009-day23.t
t/spec/integration/advent2009-day24.t
t/spec/integration/advent2010-day04.t
t/spec/integration/advent2013-day02.t
t/spec/integration/advent2013-day04.t
t/spec/integration/advent2013-day06.t
t/spec/integration/advent2013-day07.t
t/spec/integration/advent2013-day08.t
t/spec/integration/advent2013-day09.t
t/spec/integration/advent2013-day10.t
t/spec/integration/advent2013-day18.t
t/spec/integration/class-name-and-attribute-conflict.t
t/spec/integration/code-blocks-as-sub-args.t
t/spec/integration/error-reporting.t
......@@ -1072,9 +1083,12 @@ t/spec/S14-traits/attributes.t
t/spec/S14-traits/package.t
t/spec/S14-traits/routines.t
t/spec/S14-traits/variables.t
t/spec/S15-strings/NFK-types.t
t/spec/S15-strings/NF-types.t
t/spec/S15-strings/Str.t
t/spec/S15-string-types/NFK-types.t
t/spec/S15-string-types/NF-types.t
t/spec/S15-string-types/Str.t
t/spec/S15-unicode-information/unimatch-general.t
t/spec/S15-unicode-information/uniname.t
t/spec/S15-unicode-information/unival.t
t/spec/S16-filehandles/chmod.t
t/spec/S16-filehandles/connect.t
t/spec/S16-filehandles/dir.t
......@@ -1098,9 +1112,6 @@ t/spec/S16-io/test-data
t/spec/S16-io/tmpdir.t
t/spec/S16-unfiled/getpeername.t
t/spec/S16-unfiled/rebindstdhandles.t
t/spec/S17-async/async.t
t/spec/S17-async/contend.t
t/spec/S17-async/syntax.t
t/spec/S17-concurrency/channel.t
t/spec/S17-concurrency/lock.t
t/spec/S17-concurrency/promise.t
......
Rakudo Perl 6
This is Rakudo Perl, a Perl 6 compiler for the Parrot virtual machine,
the JVM and MoarVM.
Rakudo Perl is Copyright (C) 2008-2014, The Perl Foundation. Rakudo Perl
is distributed under the terms of the Artistic License 2.0. For more
details, see the full text of the license in the file LICENSE.
This directory contains only the Rakudo Perl 6 compiler itself; it
does not contain any of the modules, documentation, or other items
that would normally come with a full Perl 6 distribution. If you're
after more than just the bare compiler, please download the latest
Rakudo Star package from http://rakudo.org/downloads/star .
For a high-level overview of implemented and missing features,
please visit http://perl6.org/compilers/features .
Building Rakudo on Parrot
See the INSTALL.txt file for detailed prerequisites and build and
installation instructions. The short version is
$ # recommended: install libicu-dev and libreadline-dev packages
$ perl Configure.pl --gen-parrot --backends=parrot
$ make
$ make spectest # optional
$ make install # IMPORTANT, installs to install/bin/perl6
Note that the 'make install' step is necessary for running
Rakudo from outside the build directory. But don't worry, it
installs locally by default, so you don't need any administrator
privileges for carrying out this step.
Building Rakudo on JVM
You need the JDK 1.7 installed and a make program. These instructions
will fetch an appropriate revision of nqp, build it, and then build
rakudo on the jvm.
$ perl Configure.pl --gen-nqp --backends=jvm
$ make
Note that Rakudo on JVM implements a slightly different set of features
than Rakudo on Parrot.
If you get an out of memory error building rakudo on the JVM, you may
need to modify your NQP runner to limit memory use. e.g. Adding
-Xms500m -Xmx2g
as options passed to java in the installed nqp / nqp.bat.
Building Rakudo on MoarVM
The easiest way is:
$ perl Configure.pl --gen-moar --gen-nqp --backends=moar
$ make
$ make spectest # optional
$ make install # IMPORTANT, installs to install/bin/perl6
Note that the 'make install' step is necessary for running
Rakudo from outside the build directory. But don't worry, it
installs locally by default, so you don't need any administrator
privileges for carrying out this step.
Where to get help or answers to questions
There are several mailing lists, IRC channels, and wikis available with
help for Perl 6 and Rakudo on Parrot. Figuring out the right one to use
is often the biggest battle. Here are some rough guidelines:
The central hub for Perl 6 information is http://perl6.org/ .
This is always a good starting point.
If you have a question about Perl 6 syntax or the right way to approach
a problem using Perl 6, you probably want the "perl6-users@perl.org"
mailing list or the "irc.freenode.net/#perl6" channel. The perl6-users
list is primarily for the people who want to use Perl 6 to write
programs, so newbie questions are welcomed there. Newbie questions
are also welcome on the #perl6 channel; the Rakudo and Perl 6
development teams tend to hang out there and are generally glad
to help. You can follow "@rakudoperl" on Twitter, and there's
a Perl 6 news aggregator at <http://planetsix.perl.org> .
Questions about NQP can also be posted to the #perl6 IRC channel.
For questions about Parrot, see <http://parrot.org/> for links and
resources, or join the #parrot IRC channel on irc.perl.org .
Reporting bugs
Bug reports should be sent to "rakudobug@perl.org" with the moniker
[BUG] (including the brackets) at the start of the subject so that it
gets appropriately tagged in the RT system (https://rt.perl.org/rt3/).
Please include or attach any sample source code that exhibits the bug,
and include either the release name/date or the git commit identifier.
You find that information in the output from "perl6 --version" (or in
the first line of "git log", if Rakudo fails to build). There's no need
to cc: the perl6-compiler mailing list, as the RT system will handle
this on its own.
Submitting patches
If you have a patch that fixes a bug or adds a new feature, please
submit it to "rakudobug@perl.org" with the moniker [PATCH] (including
the brackets) at the start of the subject line. We'll generally accept
patches in any form if we can get them to work, but unified diff from
the "git" command is greatly preferred. In general this means that in
the "rakudo" directory you make your changes, and then type
git commit -m 'Your commit message' changed/filename.pm
git format-patch HEAD^
This will generate a file called "001-your-commit-message.patch", or
more of them if you made multiple commits; please attach these to your
email.
(Note to the maintainers: you can apply these patches with the
"git-am -s" command; it preserves meta information like author).
How the compiler works
See docs/compiler_overview.pod.
AUTHOR
Patrick Michaud "pmichaud@pobox.com" is the current pumpking for
Rakudo Perl 6. See CREDITS for the many people that have contributed
to the development of the Rakudo compiler.
# Rakudo Perl 6
This is Rakudo Perl, a Perl 6 compiler for the Parrot virtual machine,
the JVM and MoarVM.
Rakudo Perl is Copyright (C) 2008-2014, The Perl Foundation. Rakudo Perl
is distributed under the terms of the Artistic License 2.0. For more
details, see the full text of the license in the file LICENSE.
This directory contains only the Rakudo Perl 6 compiler itself; it
does not contain any of the modules, documentation, or other items
that would normally come with a full Perl 6 distribution. If you're
after more than just the bare compiler, please download [the latest
Rakudo Star package](http://rakudo.org/downloads/star).
Note that different backends implement slightly different sets of
featurs. For a high-level overview of implemented and missing features,
please visit [the features page on perl6.org](http://perl6.org/compilers/features).
Recent changes and feature additions are documented in the `doc/ChangeLog`
text file.
## Building and Installing Rakudo
See the INSTALL.txt file for detailed prerequisites and build and
installation instructions.
The general process for building is running `perl Configure.pl` with
the desired configuration options (common options listed below), and
then running `make` or `make install`. Optionally, you may run
`make spectest` to test your build on [Roast](http://github.com/perl6/roast),
the Official Perl 6 test suite.
Installation of Rakudo simply requires building and running `make install`.
Note that this step is necessary for running Rakudo from outside the build
directory. But don't worry, it installs locally by default, so you don't need
any administrator privileges for carrying out this step.
### Configuring Rakudo to run on Parrot
To automatically download and build a fresh Parrot and NQP, run:
perl Configure.pl --gen-parrot --backends=parrot
It is recommended to first install the libicu-dev and libreadline-dev packages.
### Configuring Rakudo to run on the JVM
Note that to run Rakudo on JVM, JDK 1.7 must be installed. To automatically
download an build a fresh NQP, run:
perl Configure.pl --gen-nqp --backends=jvm
If you get an out of memory error building rakudo on the JVM, you may
need to modify your NQP runner to limit memory use. e.g. edit the
nqp-j / nqp-j.bat executable (found wherever you installed to, or in the
`install/bin` directory) to include `-Xms500m -Xmx2g` as options passed to java.
### Configuring Rakudo to run on MoarVM
To automatically download and build a fresh MoarMV and NQP, run:
perl Configure.pl --gen-moar --gen-nqp --backends=moar
### Multiple backends at the same time
By supplying combinations of backends to the `--backends` flag, you
can get two or three backends built in the same prefix. The first
backend you supply in the list is the one that gets the `perl6` name
as a symlink, and all backends are installed seperately as
`perl6-m`, `perl6-p`, or `perl6-j` for Rakudo on
MoarVM, Parrot, or JVM respectively.
The format for the `--backends` flag is:
$ perl Configure.pl --backends=moar,parrot
$ perl Configure.pl --backends=parrot,moar,jvm
$ perl Configure.pl --backends=ALL
## Where to get help or answers to questions
There are several mailing lists, IRC channels, and wikis available with
help for Perl 6 and Rakudo on Parrot. Figuring out the right one to use
is often the biggest battle. Here are some rough guidelines:
The central hub for Perl 6 information is [perl6.org](http://perl6.org/).
This is always a good starting point.
If you have a question about Perl 6 syntax or the right way to approach
a problem using Perl 6, you probably want the "perl6-users@perl.org"
mailing list or the "irc.freenode.net/#perl6" channel. The perl6-users
list is primarily for the people who want to use Perl 6 to write
programs, so newbie questions are welcomed there. Newbie questions
are also welcome on the #perl6 channel; the Rakudo and Perl 6
development teams tend to hang out there and are generally glad
to help. You can follow "@rakudoperl" on Twitter, and there's
a Perl 6 news aggregator at [Planet Perl 6](http://planeteria.org/perl6/).
Questions about NQP can also be posted to the #perl6 IRC channel.
For questions about Parrot, see <http://parrot.org/> for links and
resources, or join the #parrot IRC channel on irc.perl.org .
For questions about MoarVM, you can join #moarvm on freenode.
## Reporting bugs
Bug reports should be sent to "rakudobug@perl.org" with the moniker
[BUG]\(including the brackets) at the start of the subject so that it
gets appropriately tagged in [the RT system](https://rt.perl.org/rt3/).
Please include or attach any sample source code that exhibits the bug,
and include either the release name/date or the git commit identifier.
You find that information in the output from `perl6 --version` (or in
the first line of `git log`, if Rakudo fails to build). There's no need
to cc: the perl6-compiler mailing list, as the RT system will handle
this on its own.
If you find a bug in MoarVM or NQP, you can either discuss it on the IRC
and have it reported for you, or you can submit an issue to the issue
trackers on github for perl6/nqp or moarvm/moarvm.
## Submitting patches
If you have a patch that fixes a bug or adds a new feature, please
submit it to "rakudobug@perl.org" with the moniker [PATCH]\(including
the brackets) at the start of the subject line. We'll generally accept
patches in any form if we can get them to work, but unified diff from
the `git` command is greatly preferred. In general this means that in
the "rakudo" directory you make your changes, and then type
git commit -m 'Your commit message' changed/filename.pm
git format-patch HEAD^
This will generate a file called "001-your-commit-message.patch", or
more of them if you made multiple commits; please attach these to your
email. Please note that if you made more than one commit, you have to
specify a proper commit range for format-patch,
for example `origin/nom..HEAD`.
(Note to the maintainers: you can apply these patches with the
`git-am -s` command; it preserves meta information like author).
## How the compiler works
See `docs/compiler_overview.pod`.
## AUTHOR
Patrick Michaud "pmichaud@pobox.com" is the current pumpking for
Rakudo Perl 6. See CREDITS for the many people that have contributed
to the development of the Rakudo compiler.
New in 2014.03
+ Fix suggestions for unknown routines when specified with '&'
+ Match sigil in suggestions for unknown routines depending on specification
+ Improve suggestions for 'length' and 'bytes' being banned in Perl 6
+ fixed for-loops to be properly lazy
+ Zop= now works
+ numerous Pod parsing and formatting improvements
+ uniname, uniprop, and unival implemented on MoarVM backend
+ @<c> as shortcut for @$<c>, %<c> as shortcut for %$<c>
+ improved "unable to deduce sequence" error message
+ duckmap, deepmap implemented
+ list infix reductions no longer flatten
+ X and Z meta ops treat [] as items
+ unary hyper subscripts (@array>>.[0]) now work
+ fixed problem with .=uniq and .=squish
New in 2014.02
+ $*INITTIME implemented
+ improved code generation for loops on the JVM backend
+ eager and lazy statement prefixes
+ statementlist-level for-loops are now assumed to be in sink context
+ improved unspace parsing
+ don't itemize make's ast argument
+ allow definition of custom postcircumfix operators
+ :allow in pod code blocks works now
+ Configure: git protocol is now configurable
+ smartmatching against an IO::Path does the right thing now
+ perl6-debug-* is now installed by rakudo; the user interface is still a
module available from the ecosystem
+ lots of improvements for moarvm, such as client and server socket support
and opening pipes/subprocesses
+ finished NativeCall support on the JVM
New in 2014.01
+ Use .narrow on Numeric to coerce to narrowest Type possible
......
# Announce: Rakudo Perl 6 compiler, Development Release #73 ("Karlsruhe.pm")
On behalf of the Rakudo development team, I'm happy to announce the
February 2014 release of Rakudo Perl 6 #73 "Karlsruhe.pm". Rakudo is an
implementation of Perl 6 on the Parrot Virtual Machine, the Java Virtual
Machine and the Moar Virtual Machine[^1]. The tarball for this release
is available from <http://rakudo.org/downloads/rakudo/>.
Please note: This announcement is not for the Rakudo Star
distribution[^2] --- it's announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.
The Rakudo Perl compiler follows a monthly release cycle, with each
release named after a Perl Mongers group. This time it's the Perl
Mongers group of Karlsruhe, Germany - where Timo Paulssen has been
advertising Perl 6 to the other group members incessantly.
Some of the changes in this release are outlined below:
+ The JVM now has full NativeCall support based on JNA.
+ The core of Rakudo::Debugger is now part of Rakudo
itself and works across all backends.
+ "make" no longer itemizes its arguments.
+ for-loops at the statementlist level are now sunk by default.
+ better parsing of unspaces and formatting codes inside Pod blocks.
+ lots of improvements to the MoarVM backend
including sockets and pipe opening.
These are only some of the changes in this release. For a more
detailed list, see "docs/ChangeLog".
The development team thanks all of our contributors and sponsors for
making Rakudo Perl possible, as well as those people who worked on
Parrot, the Perl 6 test suite, MoarVM and the specification.
The following people contributed to this release:
Jonathan Worthington, Tobias Leich, Mouq, Moritz Lenz, Timo Paulssen,
Carl Masak, Larry Wall, Rob Hoelz, Jonathan Scott Duff, Matthew Wilson,
Pepe Schwarz, Will "Coke" Coleda, Steve Mynott, raydiak, Geoffrey Broadwell,
itz_, and Nicholas Clark.
If you would like to contribute, see <http://rakudo.org/how-to-help>,
ask on the <perl6-compiler@perl.org> mailing list, or ask on IRC
\#perl6 on freenode.
The next release of Rakudo (#74), is scheduled for March 20, 2014.
A list of the other planned release dates and code names for future
releases is available in the "docs/release_guide.pod" file. A Rakudo
development release typically occurs a few days (often two) after the
third Tuesday of each month.
On behalf of the development team, I encourage you to enjoy the new release,
try awesome stuff, have the appropriate amount of fun, and get back to us
with feedback.
[^1]: See <http://moarvm.org/>
[^2]: What's the difference between the Rakudo compiler and the Rakudo
Star distribution?
The Rakudo compiler is a compiler for the Perl 6 language.
Nothing else.