[Buffalo-pm] Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6

Daniel Magnuszewski dmagnuszewski at yahoo.com
Thu Jul 29 08:32:07 PDT 2010


FYI

----

On behalf of the Rakudo and Perl 6 development teams, I'm happy to
announce the July 2010 release of "Rakudo Star", a useful and usable
distribution of Perl 6.  The tarball for the July 2010 release is
available from <http://github.com/rakudo/star/downloads>.

Rakudo Star is aimed at "early adopters" of Perl 6.  We know that
it still has some bugs, it is far slower than it ought to be, and
there are some advanced pieces of the Perl 6 language specification
that aren't implemented yet.  But Rakudo Perl 6 in its current form
is also proving to be viable (and fun) for developing applications
and exploring a great new language.  These "Star" releases are
intended to make Perl 6 more widely available to programmers, grow
the Perl 6 codebase, and gain additional end-user feedback about the
Perl 6 language and Rakudo's implementation of it.

In the Perl 6 world, we make a distinction between the language 
("Perl 6") and specific implementations of the language such as
"Rakudo Perl".  "Rakudo Star" is a distribution that includes
release #31 of the Rakudo Perl 6 compiler [1], version 2.6.0 of
the Parrot Virtual Machine [2], and various modules, documentation,
and other resources collected from the Perl 6 community.  We
plan to make Rakudo Star releases on a monthly schedule, with
occasional special releases in response to important bugfixes or
changes.

Some of the many cool Perl 6 features that are available in this
release of Rakudo Star:
  * Perl 6 grammars and regexes
  * formal parameter lists and signatures
  * metaoperators
  * gradual typing
  * a powerful object model, including roles and classes
  * lazy list evaluation
  * multiple dispatch
  * smart matching
  * junctions and autothreading
  * operator overloading (limited forms for now)
  * introspection
  * currying
  * a rich library of builtin operators, functions, and types
  * an interactive read-evaluation-print loop
  * Unicode at the codepoint level
  * resumable exceptions

There are some key features of Perl 6 that Rakudo Star does not
yet handle appropriately, although they will appear in upcoming
releases.  Thus, we do not consider Rakudo Star to be a
"Perl 6.0.0" or "1.0" release.  Some of the not-quite-there
features include:
  * nested package definitions
  * binary objects, native types, pack and unpack
  * typed arrays
  * macros
  * state variables
  * threads and concurrency
  * Unicode strings at levels other than codepoints
  * pre and post constraints, and some other phasers
  * interactive readline that understands Unicode
  * backslash escapes in regex <[...]> character classes
  * non-blocking I/O
  * most of Synopsis 9
  * perl6doc or pod manipulation tools

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.

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.

Rakudo Star also bundles a number of modules; a partial list of
the modules provided by this release include:
  * Blizkost
      - enables some Perl 5 modules to be used from within Rakudo Perl 6
  * MiniDBI
      - a simple database interface for Rakudo Perl 6
  * Zavolaj
      - call C library functions from Rakudo Perl 6
  * SVG and SVG::Plot
      - create scalable vector graphics
  * HTTP::Daemon
      - a simple HTTP server
  * XML::Writer
      - generate XML
  * YAML
      - dump Perl 6 objects as YAML
  * Term::ANSIColor
      - color screen output using ANSI escape sequences
  * Test::Mock
      - create mock objects and check what methods were called
  * Math::Model
      - describe and run mathematical models
  * Config::INI
      - parse and write configuration files
  * File::Find
      - find files in a given directory
  * LWP::Simple
      - fetch resources from the web

These are not considered "core Perl 6 modules", and as module
development for Perl 6 continues to mature, future releases
of Rakudo Star will likely come bundled with a different set
of modules. Deprecation policies for bundled modules will be
created over time, and other Perl 6 distributions may choose
different sets of modules or policies.  More information about
Perl 6 modules can be found at http://modules.perl6.org/.

Rakudo Star also contains a draft of a Perl 6 book -- see 
<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 at perl.org
mailing list, or join us on IRC #perl6 on freenode.

Rakudo Star releases are created on a monthly cycle or as needed
in response to important bug fixes or improvements.  The next planned 
release of Rakudo Star will be on August 24, 2010.

[1] http://github.com/rakudo/rakudo
[2] http://parrot.org/


More information about the Buffalo-pm mailing list