Perl 6
Perl 6 Executive Summary: Revision 19
{image: camelia.jpg}

* Perl 6 is a comprehensive redesign of Perl that aims to {greatly streamline and powerfully extend} the Perl 5 ecosystem.
** Perl 6's many new built-in features greatly advance the Perl tradition of highly-capable, feature-rich programming. Here are some of those features:
*** Multimethods, coroutines, continuations, currying, signatures, captures, exceptions
*** Powerful yet convenient object-oriented programming, generics, roles
*** Functional programming primitives, {lazy and eager} evaluation, junctions, autothreading, hyperoperators (vector operators)
*** Definable grammars for {pattern matching and generalized string processing}, with many other powerful extensions
*** Advanced introspection and meta-programming
*** {Extensible and overridable} {Perl 6 primitives and Perl 6 grammar}, language-level macros
*** Module aliasing and versioning, optional static/gradual typing
*** Full Unicode processing support
*** Garbage collection
*** Greatly-improved foreign function interface
*** Optional Tyoing System
** See [The Long Perl 6 Super-Feature List] for the long overview.
* Perl 6 has a fun-driven community: writing Perl 6 compilers is fun, developing applications in Perl 6 is fun, and so is dealing with friendly, intelligent people.
* Perl 6 will support its still-advancing big sister (Perl 5), and future versions of both languages will support increasing degrees of interoperability.
* Perl 6 is defined by the Perl 6 test suite (which are in turn based on the Perl 6 language design documents), not by conformance to a reference implementation (as Perl 5 was).
* While Perl 6 has been an infamously long time in development (see below), it has been relentlessly advancing along the long road to "industrial strength" over the last few years.
** New pre-1.0 releases of Perl 6 are now made on a routine monthly schedule.
** This long gestation period has allowed Perl 6 to make many important refinements on the basis of early implementations.
** The [Rakudo Star] release of Perl 6 on Parrot is due out in spring, 2010. This pre-1.0 release is intended to be practically usable by early Perl 6 developers.

{image: Perl_6_timeline.png}


One piece of FUD I hear from executives and friends is that "because Perl has no types, it can't be used to build large systems, and isn't as good as Java." To address this misperception, I suggest putting Perl 6's typing in a bullet by itself near the top, e.g. "Optional typing that is both powerful _and_ flexible, moreso than typing in any other language".

_contributed by {user:} on {date: 2011-07-03 22:43:15 GMT}_

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.