README

This is Rakudo Star, a useful, usable Perl 6 distribution for "early adopters".
This is the 2013.02 release of Rakudo Star.
Rakudo Star is Copyright (C) 2010 - 2013 by the Rakudo Star Team.
License Information
-------------------
Rakudo Star is distributed under the terms of the Artistic License 2.0.
This distribution contains software collected from other sources; see the
individual source subdirectories (in parrot/, rakudo/, and modules/) for
copyright and licensing information of those components.
Build Prerequisites
-------------------
To build Rakudo Star you need at least a C compiler, a 'make' utility,
and Perl 5.8.4 or newer. You probably also want a machine with a fair
amount of memory available: 1GB is known to be too small for building
Rakudo, while 1.5GB is generally known to be sufficient.
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
will not work properly.
On Debian GNU/Linux or Ubuntu Linux, the necessary components
for building Rakudo can be installed via the command
aptitude install build-essential libicu-dev
Readline support also requires the "libreadline-dev" library.
On RedHat/Fedora/CentOS, the components can be installed with
yum groupinstall development-tools
yum install libicu-devel readline-devel
Building Rakudo Star
--------------------
The basic steps to build Rakudo Star are:
$ perl Configure.pl --gen-parrot
$ make
$ make install
This will build a Perl 6 executable and install selected
Perl 6 modules into the install/ subdirectory, which resides
inside the source archive directory. Running make install
will *not* install anything into /usr/local. Programs can
then be run directly using a command like:
$ ./perl6 hello.pl
Programs can also be run by adding the "install/bin" directory
to your PATH environment variable.
The "--gen-parrot" option above tells Configure.pl to automatically
build and install the version of Parrot that is distributed with
Rakudo Star. The "--prefix=" option can be provided to Configure.pl
to change the location of the install directory.
If your system already has an installed Parrot, Configure.pl will
look for "parrot_config" in your execution PATH, or the location
of parrot_config can be explicitly provided to Configure.pl via
the "--parrot_config" option:
$ perl Configure.pl --parrot-config=/path/to/bin/parrot_config
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.
Running the Perl 6 test suite
-----------------------------
Entering "make rakudo-test" will run a small test suite that comes
bundled with Rakudo. This is a simple suite of tests, designed
to make sure that the Rakudo compiler is basically working and that
it's capable of running a simple test harness.
Running "make rakudo-spectest" will run the Perl 6 specification
test suite ("roast") that was bundled with the Rakudo compiler release.
Running "make modules-test" will run the test suites of any installed
modules. The modules currently have to be installed (via 'make install'
or 'make modules-install') before the tests can be run.
Release information
-------------------
Information about the current release is placed in the docs/
directory, here is a brief overview:
docs/cheatsheet.txt — Perl 6 cheat sheet
docs/announce/ — detailed release announcements
Where to get help or answers to questions
-----------------------------------------
The http://perl6.org/ website contains a great many links to
resources for Perl 6 development, and is generally the starting
point for information about Perl 6.
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:
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. This list is primarily
for the people who want to use Perl 6 to write programs, as
opposed to those who are implementing or developing the Perl 6
language itself.
Questions about the Rakudo compiler for Parrot and the Parrot compiler
tools can go to perl6-compiler@perl.org. Discussion about Parrot itself
generally takes place on parrot-dev@lists.parrot.org.
The Rakudo and Parrot development teams tend to hang out on IRC a fair
bit, on irc.freenode.net/#perl6 and irc.parrot.org/#parrot, respectively.
Rakudo's official web site is http://rakudo.org/ , where you can
find useful information for developers and users alike.
Reporting bugs
--------------
Bug reports about Rakudo Star or the Perl 6 specification 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". There's no need to Cc: the perl6-compiler
mailing list, as the RT system will handle this on its own.
Submitting patches
------------------
Patches to the Rakudo compiler itself should be submitted to
'rakudobug@perl.org'. Patches for individual modules should be
submitted to the module authors (see the module source code for
details).
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.
See further instructions in the rakudo/ subdirectory for more details.
Other ways to create and submit patches are discussed at
http://wiki.github.com/rakudo/rakudo/steps-to-create-a-patch.
AUTHOR
------
Patrick Michaud (pmichaud@pobox.com) is the primary author and
maintainer for Rakudo Star. See docs/CREDITS for further Rakudo
Star authors, and */CREDITS for authors of other collected
components.