From c012d8b882480151d8eb7da92c4cca80d1d9b814 Mon Sep 17 00:00:00 2001 From: pmichaud Date: Tue, 28 Aug 2012 00:36:53 -0500 Subject: Move skel/ into top-level directory, to try building directly from the repo. --- docs/CREDITS | 57 +++++++++++++++++++++ docs/UsingPerl6-draft.pdf | Bin 0 -> 702794 bytes docs/announce/2010.07 | 125 ++++++++++++++++++++++++++++++++++++++++++++++ docs/announce/2010.08 | 79 +++++++++++++++++++++++++++++ docs/announce/2010.09 | 80 +++++++++++++++++++++++++++++ docs/announce/2010.10 | 77 ++++++++++++++++++++++++++++ docs/announce/2010.11 | 72 ++++++++++++++++++++++++++ docs/announce/2010.12 | 72 ++++++++++++++++++++++++++ docs/announce/2011.01 | 73 +++++++++++++++++++++++++++ docs/announce/2011.04 | 79 +++++++++++++++++++++++++++++ docs/announce/2011.07 | 84 +++++++++++++++++++++++++++++++ docs/announce/2012.01 | 122 ++++++++++++++++++++++++++++++++++++++++++++ docs/announce/2012.02 | 101 +++++++++++++++++++++++++++++++++++++ docs/announce/2012.04 | 80 +++++++++++++++++++++++++++++ docs/announce/2012.05 | 67 +++++++++++++++++++++++++ docs/announce/2012.06 | 82 ++++++++++++++++++++++++++++++ docs/announce/2012.07 | 108 +++++++++++++++++++++++++++++++++++++++ docs/announce/2012.08 | 104 ++++++++++++++++++++++++++++++++++++++ docs/cheatsheet.txt | 64 ++++++++++++++++++++++++ 19 files changed, 1526 insertions(+) create mode 100644 docs/CREDITS create mode 100644 docs/UsingPerl6-draft.pdf create mode 100644 docs/announce/2010.07 create mode 100644 docs/announce/2010.08 create mode 100644 docs/announce/2010.09 create mode 100644 docs/announce/2010.10 create mode 100644 docs/announce/2010.11 create mode 100644 docs/announce/2010.12 create mode 100644 docs/announce/2011.01 create mode 100644 docs/announce/2011.04 create mode 100644 docs/announce/2011.07 create mode 100644 docs/announce/2012.01 create mode 100644 docs/announce/2012.02 create mode 100644 docs/announce/2012.04 create mode 100644 docs/announce/2012.05 create mode 100644 docs/announce/2012.06 create mode 100644 docs/announce/2012.07 create mode 100644 docs/announce/2012.08 create mode 100644 docs/cheatsheet.txt (limited to 'docs') diff --git a/docs/CREDITS b/docs/CREDITS new file mode 100644 index 0000000..f933c37 --- /dev/null +++ b/docs/CREDITS @@ -0,0 +1,57 @@ +=pod + + Following in the steps of other open source projects that + eventually take over the world, here is the partial list + of people who have contributed to Rakudo and its supporting + works. It is sorted by name and formatted to allow easy + grepping and beautification by scripts. + The fields are: name (N), email (E), web-address (W), + description (D), repository username (U) and snail-mail + address (S). + + Thanks, + + The Rakudo Star Team + PS: Yes, this looks remarkably like the Linux CREDITS format + PPS: This file is encoded in UTF-8 + +---------- + +N: Carl Masak +E: cmasak@gmail.com +U: masak + +N: Jonathan Scott Duff +U: perlpilot +E: duff@pobox.com + +N: Jonathan Worthington +U: jnthn +E: jnthn@jnthn.net +W: http://www.jnthn.net/ + +N: Martin Berends +E: mberends@autoexec.demon.nl +D: Rakudo patch(es) + +N: Moritz Lenz +E: moritz@faui2k3.org +U: moritz +U: moritz_ +D: Test infrastructure, tests, various Rakudo features and built-ins + +N: Patrick R. Michaud +U: pmichaud +D: Perl 6 (Rakudo Perl) lead developer, pumpking +E: pmichaud@pobox.com + +N: Dave Olszewski +E: cxreg@pobox.com +U: cxreg +D: Bugfixes and moral support + +N: Tadeusz Sośnierz +E: tadzikes@gmail.com +U: tadzik + +=cut diff --git a/docs/UsingPerl6-draft.pdf b/docs/UsingPerl6-draft.pdf new file mode 100644 index 0000000..0a3ded4 Binary files /dev/null and b/docs/UsingPerl6-draft.pdf differ diff --git a/docs/announce/2010.07 b/docs/announce/2010.07 new file mode 100644 index 0000000..5896acc --- /dev/null +++ b/docs/announce/2010.07 @@ -0,0 +1,125 @@ +Announce: Rakudo Star - 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 July 2010 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the July 2010 release is +available from . + +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 + 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 , ask on the perl6-compiler@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/ diff --git a/docs/announce/2010.08 b/docs/announce/2010.08 new file mode 100644 index 0000000..42ac145 --- /dev/null +++ b/docs/announce/2010.08 @@ -0,0 +1,79 @@ +Announce: Rakudo Star - 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 August 2010 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the August 2010 release is +available from . + +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". The August 2010 Star release includes release #32 +of the Rakudo Perl 6 compiler [1], version 2.7.0 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * Nil is now undefined + * Many regex modifiers are now recognized on the outside of regexes + * Mathematic and range operations are now faster (they're still slow, + but they're significantly faster than they were in the previous release) + * Initial implementations of .pack and .unpack + * MAIN can parse short arguments + * Removed a significant memory leak for loops and other repeated blocks + +This release (temporarily?) omits the Config::INI module that was +included in the 2010.07 release, as it no longer builds with the +shipped version of Rakudo. We hope to see Config::INI return soon. + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@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 September 28, 2010. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2010.09 b/docs/announce/2010.09 new file mode 100644 index 0000000..5fac9da --- /dev/null +++ b/docs/announce/2010.09 @@ -0,0 +1,80 @@ +Announce: Rakudo Star - 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 September 2010 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the September 2010 release is +available from . + +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". The September 2010 Star release includes release #33 +of the Rakudo Perl 6 compiler [1], version 2.8.0 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * Several performance improvements have been implemented; + notably in the slurp() and reverse() functions + * The series operator has been refactored and updated to the current + specification + * Temporal objects (DateTime, Date, Instant, and Duration) are now + completely implemented + * Enumeration objects now conform much closer to the specification + * 'now' and 'time' are now terms instead of functions. This means + you can write 'time - 1' and it will do what you mean, but + 'time()' is no longer valid. + * The Perl 6 specification tests [3] are now included in the distribution. + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@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 October 26, 2010. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ +[3] http://github.com/perl6/roast diff --git a/docs/announce/2010.10 b/docs/announce/2010.10 new file mode 100644 index 0000000..e85bf33 --- /dev/null +++ b/docs/announce/2010.10 @@ -0,0 +1,77 @@ +Announce: Rakudo Star - 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 October 2010 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the October 2010 release is +available from . + +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". The October 2010 Star release includes release #34 +of the Rakudo Perl 6 compiler [1], version 2.9.1 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * A simple implementation of 'require' + * Local timezone is available in $*TZ + * Implementations of ms// ss/// (samespace) + * Speed improvements to Str.flip + * Hyperoperator versions of += + * Improved diagnostic messages and warning messages + * True and False now stringify properly + * Attribute modification via introspection + +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 at . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@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 November 23, 2010. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ +[3] http://github.com/perl6/roast diff --git a/docs/announce/2010.11 b/docs/announce/2010.11 new file mode 100644 index 0000000..294159d --- /dev/null +++ b/docs/announce/2010.11 @@ -0,0 +1,72 @@ +Announce: Rakudo Star - 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 November 2010 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the November 2010 release is +available from . + +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". The November 2010 Star release includes release #35 +of the Rakudo Perl 6 compiler [1], version 2.10.1 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * qw// is implemented + * The .trans method is 5x faster + * Indexing with ranges and Whatever offsets now works + +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 at . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@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 December 28, 2010. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ +[3] http://github.com/perl6/roast diff --git a/docs/announce/2010.12 b/docs/announce/2010.12 new file mode 100644 index 0000000..67d088f --- /dev/null +++ b/docs/announce/2010.12 @@ -0,0 +1,72 @@ +Announce: Rakudo Star - 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 December 2010 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the December 2010 release is +available from . + +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". The December 2010 Star release includes release #36 +of the Rakudo Perl 6 compiler [1], version 2.11.0 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * New .trans algorithm + * Configuration improvements + * More bug fixes + +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 at . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +Starting with the January 2011 release, Rakudo Star releases will be +created on a three-month cycle, or as needed in response to important +bug fixes or improvements. The next planned release of Rakudo Star +will be on January 25, 2011. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2011.01 b/docs/announce/2011.01 new file mode 100644 index 0000000..be3c8a3 --- /dev/null +++ b/docs/announce/2011.01 @@ -0,0 +1,73 @@ +Announce: Rakudo Star - 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 January 2011 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the January 2011 release is +available from . + +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". The January 2011 Star release includes release #37 +of the Rakudo Perl 6 compiler [1], version 3.0.0 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * faster subroutine calls (type cache) + * implemented 'handles Rolename' trait + * 'use Devel::Trace' debugging pragma + * improved parsing of keyword boundaries + * faster .comb + +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: + * 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 at . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +Starting with this January 2011 release, Rakudo Star releases will be +created on a three-month cycle, or as needed in response to important +bug fixes or improvements. (The Rakudo compiler will continue with +monthly releases.) The next planned release of Rakudo Star will be +in April 2011. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2011.04 b/docs/announce/2011.04 new file mode 100644 index 0000000..c441c12 --- /dev/null +++ b/docs/announce/2011.04 @@ -0,0 +1,79 @@ +Announce: Rakudo Star - 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 April 2011 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the April 2011 release is +available from . + +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". The April 2011 Star release includes release #40 +of the Rakudo Perl 6 compiler [1], version 3.3.0 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +This release of Rakudo Star adds the following features over the +previous Star release: + * Modules MiniDBI, form, HTTP::Daemon, Yaml and Module::Tools are + removed in this release. + * New modules Pies (including panda, the module installer) and + HTTP::Server::Simple have been added. + * New implementation of IO::Socket::INET, with basic IPv6 support + * -p and -n command-line options are now available + * Many new IO improvements, including stat-related methods + * New --ll-backtrace command-line switch for printing PIR level stack traces + * Preliminary implementation of Infix 'orelse' + * Added Str.indent + * Bugfixes to negation meta operator + * Support for complex conjugation + +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: + * 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 at . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +Rakudo Star releases are created on a three-month cycle, or as +needed in response to important bug fixes or improvements. +(The Rakudo compiler will continue with monthly releases.) +The next planned release of Rakudo Star will be in July 2011. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2011.07 b/docs/announce/2011.07 new file mode 100644 index 0000000..b51858b --- /dev/null +++ b/docs/announce/2011.07 @@ -0,0 +1,84 @@ +Announce: Rakudo Star - 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 July 2011 release of "Rakudo Star", a useful and usable +distribution of Perl 6. The tarball for the July 2011 release is +available from . + +IMPORTANT NOTE ABOUT UPCOMING RELEASES: This is the last Rakudo Star +release to use a compiler from the current "master" branch of Rakudo. +For the past several months, Rakudo compiler development has +primarily occurred in a separate "nom" ("New Object Model") branch of +its repository. Shortly after this release, the "nom" branch will +become the new "master" branch and will be the source for future +compiler and Star releases. + +In the Perl 6 world, we make a distinction between the language +("Perl 6") and specific implementations of the language such as +"Rakudo Perl". The July 2011 Star release includes release #43 +of the Rakudo Perl 6 compiler [1], version 3.6.0 of the Parrot +Virtual Machine [2], and various modules, documentation, +and other resources collected from the Perl 6 community. + +The Rakudo team plans to issue another distribution release +in August 2011 based on the new "nom" compiler. The new +compiler contains many improvements over the current line +of development (including vastly improved performance), but also +will not be 100% backwards-compatible due to changes in the +Perl 6 language specification and elimination of some workarounds. +Existing Rakudo Star users looking for stability should continue +to use the July 2011 release as the new distribution releases +stabilize over the next several months. + +Details about deprecations and migration guidelines will be +provided in future releases and on rakudo.org . + +This release of Rakudo Star adds the following features over the +previous Star release: + * 10%-30% improvement in compile and execution speed + * New gcd (greatest common divisor) and lcm (largest common multiple) operators + * Int.base + * Call counter for Perl 6-level subroutines + * Better handling of &infix:<=> right associativity + * Fix bug in exponentiation of negative numbers + * Fix building on systems with smaller RAM + +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: + * 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 + +There is a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2011.07 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.01 b/docs/announce/2012.01 new file mode 100644 index 0000000..44b1f11 --- /dev/null +++ b/docs/announce/2012.01 @@ -0,0 +1,122 @@ +Announce: Rakudo Star - 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 January 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the January 2012 +release is available from . + +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 #48 of the +Rakudo Perl 6 compiler [1], version 3.11 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +Significantly, this is the first distribution release based on the +"nom" (New Object Model) development branch of Rakudo. This work +has been carried out with the aim of increasing performance and +correctness, as well as providing a better base for taking on a +range of missing features. Here are some of the major improvements +in this release over the previous distribution release. + +* Greatly improved performance in many areas. For some scripts, this + release offers an order of magnitude performance improvement. + +* POD6 support, including the $=POD variable to make the POD available + at runtime and a --doc option to get at the POD + +* The Int type now has big integer semantics + +* Initial work on native types, which can be used to write much + more efficient code + +* LTM-driven protoregexes + +* Meta-programming support, including custom meta-classes, overriding + method dispatch and much more + +* Exception handling is much closer to the specification, and thus much + more useful + +* Better package handling, including true separate compilation, lexical + packages and better nested package handling + +* An optimizer, which improves generated code as well as catching + a range of issues at compile-time that previously made it to runtime + +* Backslash sequences in character classes + +* Stubbed methods from roles are now required, providing interface + style functionality + +* Typed arrays and hashes, as well as supporting for binding to + array and hash elements + +Due to improvements in the Perl 6 language specification, and +changes to Rakudo to track them, some existing code will need +changes. Here are some of the major differences to be aware of. + +* Attributes can no longer be initialized using "new" unless they + are declared as having an accessor; either give them one or write + a BUILD submethod + +* The proto keyword is no longer used to declare a multi-dispatch + fallback + +* You may no longer do 'filename'.lines; use 'filename'.IO.lines + +We have maintained backwards compatibility with some changed pieces +of syntax, but will drop them in an upcoming release: + +* "<...>" in proto regex bodies; now this should be written "*" + +* The use of "**" with a separator in regexes; this is now done by + using "%" or "%%" on another quantifier + +While this release does contain a great number of improvements, +unfortunately we have regressed in a few places. Of note: + +* Some cases of auto-vivification do not work + +* The binding of a capture against a signature literal is + broken + +We will be working to restore this functionality for future +Rakudo Star releases; if you depend heavily on it, you may +wish to stick with the previous Rakudo Star release for +another month. + +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: + * pack and unpack + * macros + * threads and concurrency + * Unicode strings at levels other than codepoints + * pre and post constraints, and some other phasers + * interactive readline that understands Unicode + * non-blocking I/O + * much of Synopsis 9 + +There is a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.01 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.02 b/docs/announce/2012.02 new file mode 100644 index 0000000..a32f5da --- /dev/null +++ b/docs/announce/2012.02 @@ -0,0 +1,101 @@ +Announce: Rakudo Star - 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 February 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the February 2012 +release is available from . + +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 #49 of the +Rakudo Perl 6 compiler [1], version 4.1 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +Here are some of the major improvements in this release over the +previous distribution release. + +* The FatRat type is implemented, and Rat arithmetic now properly + defaults to Num if the denominator is too big + +* Object hashes are implemented, and can be declared with the syntax + my %h{Any} (for a hash with keys of type Any) + +* The syntax is now implemented in regexes; + can also be used to call predeclared lexical rules + +* The Int($x) coercion syntax is implemented + +* &rename and © are now implemented + +* Improvements to the reduction meta-operator (order of magnitude faster, + some parsing issues fixed) + +* The regex built-in is now available, and matches whatever the + last successful match matched + +* A $match.make(...) method is available to set the AST for a match + object not stored in the $/ variable + +* Improved backtraces + +This release also contains a range of bug fixes, improvements to error +reporting and better failure modes. Many more exceptions are thrown +as typed exceptions. + +Due to continued evolution of and convergence with the Perl 6 spec, there +are some changes to existing functionality that may affect your code: + +* You may no longer use the $.x form in submethods and attribute + initializers, as per spec; use the non-virtual $!x instead. + +* The LHS of the xx operator is now thunked + +* .conjugate is now called .conj + +* Enumeration values .gist to just the key, not the full name + +* An empty Buf is now False in boolean context + +Currently, we have maintained backwards compatibility with some +changed pieces of syntax, but will drop them in an upcoming release: + +* "<...>" in proto regex bodies; now this should be written "*" + +* The use of "**" with a separator in regexes; this is now done by + using "%" or "%%" on another quantifier + +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: + * pack and unpack + * macros + * threads and concurrency + * Unicode strings at levels other than codepoints + * pre and post constraints, and some other phasers + * interactive readline that understands Unicode + * non-blocking I/O + * much of Synopsis 9 + +There is a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.02 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.04 b/docs/announce/2012.04 new file mode 100644 index 0000000..3acad8c --- /dev/null +++ b/docs/announce/2012.04 @@ -0,0 +1,80 @@ +Announce: Rakudo Star - 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 April 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the April 2012 +release is available from . + +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 2012.04.1 [0] of the +Rakudo Perl 6 compiler [1], version 4.3 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +Here are some of the major improvements in this release over the +previous distribution release. + +* much improved startup time + +* much more robust module precompilation + +* autovivification for arrays and hashes is implemented again + +* many phasers like PRE, POST and REDO are now implemented + +* improved support for calling C functions and modelling structs and arrays + via NativeCall.pm6 + +* now includes modules URI, LWP::Simple, jsonrpc and Bailador (a Perl 6 port + of Dancer) + +This release also contains a range of bug fixes, improvements to error +reporting and better failure modes. Many more exceptions are thrown +as typed exceptions. + +Some notable incompatible changes from the previous release include + + * the 'lib' directory is not included in the default module search path + anymore. You can manipulate the search path with the PERL6LIB environment + variable + + * 'defined' used to be a prefix operator, and is now a regular subroutine. + This means you must updated code that relies 'defined' taking only one + argument. For example 'defined $x ?? $a !! $b' should be written as + '$x.defined ?? $a !! $b' or 'defined($x) ?? $a !! $b'. + +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: + * pack and unpack + * 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 a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.04 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.04.1 +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.05 b/docs/announce/2012.05 new file mode 100644 index 0000000..d6f2575 --- /dev/null +++ b/docs/announce/2012.05 @@ -0,0 +1,67 @@ +Announce: Rakudo Star - 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 May 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the May 2012 +release is available from . + +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 2012.05 [0] of the +Rakudo Perl 6 compiler [1], version 4.4 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +Here are some of the major improvements in this release over the +previous distribution release. + +* -I and -M command-line options +* support for non-Int enums +* 'use' now accepts positional arguments and is able to import by tag name +* 'import' now works +* basic support for Version literals +* %*ENV now propagates into subprocesses +* basic implementation of pack and unpack ported from 'ng' branch +* fff flip-flop operator is now implemented, ff has been improved +* various new regex features and improvements + +Rakudo now also includes the lib.pm module. + +This release also contains a range of bug fixes, improvements to error +reporting and better failure modes. More exceptions are thrown +as typed exceptions. + +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: + + * 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 a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.05 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.05 +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.06 b/docs/announce/2012.06 new file mode 100644 index 0000000..0384ded --- /dev/null +++ b/docs/announce/2012.06 @@ -0,0 +1,82 @@ +Announce: Rakudo Star - 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 June 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the June 2012 +release is available from . + +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 2012.06 [0] of the +Rakudo Perl 6 compiler [1], version 4.5 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +Here are some of the major improvements in this release over the +previous distribution release. + +* Transitive longest-token matching in protoregexes + +* Longest token matching for alternations + +* Enhanced list and .map handling, including laziness fixes and performance + improvements + +* Can use an argument list with require + +* Compile time errors in loaded modules now show a module loading backtrace + +* String to number conversion now recognizes radix notation + +* The &push and &unshift functions can now autovivify + +* Rakudo is now compiled with the same regex engine that user-space + regexes use; some parsing bugs are fixed as a result + +* p6doc is now shipped with Rakudo Star. It is a small collection of + user-oriented documentation, along with the `p6doc` script for viewing + them. + +This release also contains a range of bug fixes, improvements to error +reporting and better failure modes. More exceptions are thrown as typed +exceptions, and more meta-model errors have been fixed to properly +report line numbers. + +This release contains an important breaking change to number parsing. +Previously, a string such as "foo" would numify to 0. Now this will +return a Failure. + +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: + + * 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 a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.06 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.06 +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.07 b/docs/announce/2012.07 new file mode 100644 index 0000000..d8f5d56 --- /dev/null +++ b/docs/announce/2012.07 @@ -0,0 +1,108 @@ +Announce: Rakudo Star - 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 July 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the July 2012 +release is available from . + +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 2012.07 [0] of the +Rakudo Perl 6 compiler [1], version 4.6 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +Some of the new features added to this release include: + +* Built-in metaobjects (e.g. Metamodel::ClassHOW) now inherit from Any + +* &open now supports the :enc/:encoding option + +* anonymous subset types (e.g., 'subset :: of Int where { $_ > 0 }') + +* Rakudo Star now ships with the Template::Mojo module + +This release also contains a range of bug fixes, improvements to error +reporting and better failure modes. More exceptions are thrown as typed +exceptions, and more meta-model errors have been fixed to properly +report line numbers. + +Starting with this release, we will also identify changes to the +implementation or specification that can cause breakages in existing +Perl 6 code. The following features have been deprecated or modified +due to changes in the Perl 6 specification, and are being removed +or changed as follows: + +* IO::File and IO::Dir will go away, and &dir now returns values of type + IO::Path (which is currently the superclass of IO::File and IO::Dir). + The return values of &dir will still stringify to the base name of the + returned file and directory names, and you can call .path on them to + obtain the full path. + +* 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. + Scheduled for the 2012.08 release. + +* 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. + Scheduled for the 2012.08 release, but may end up in 2012.09 . + +* The method Str.bytes will be removed. To get the number of codepoints + in a string, use .codes instead. To get the number of bytes in a + given encoding, use $str.encode($encoding).bytes . + Scheduled for the 2012.08 release. + +* The method Str.lcfirst will be removed without replacement. + Scheduled for the 2012.08 release. + +* The method Str.ucfirst will eventually be removed, and replaced by + Str.tc. + No schedule yet, depends on having tc implemented first. + +* 'abs' is currently a prefix operator, and will be changed to a normal + subroutine. + Scheduled for the 2012.08 release. + +* The integer argument to IO::Socket.recv will be interpreted as number of + characters/codepoints. + Scheduled for the 2012.08 release. + +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: + + * 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 a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.07 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.07 +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/announce/2012.08 b/docs/announce/2012.08 new file mode 100644 index 0000000..f734c36 --- /dev/null +++ b/docs/announce/2012.08 @@ -0,0 +1,104 @@ +Announce: Rakudo Star - 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 August 2012 release of "Rakudo Star", a useful and +usable distribution of Perl 6. The tarball for the August 2012 +release is available from . +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 2012.08 [0] of the +Rakudo Perl 6 compiler [1], version 4.6 of the Parrot Virtual +Machine [2], and various modules, documentation, and other +resources collected from the Perl 6 community. + +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. More exceptions are thrown as typed +exceptions, and more meta-model errors have been fixed to properly +report line numbers. + +Starting with this release, we will also identify changes to the +implementation or specification that can cause breakages in existing +Perl 6 code. The following features have been deprecated or modified +due to changes in the Perl 6 specification, and are being removed +or changed as follows: + +[TODO: update the below list] + +* IO::File and IO::Dir will go away, and &dir now returns values of type + IO::Path (which is currently the superclass of IO::File and IO::Dir). + The return values of &dir will still stringify to the base name of the + returned file and directory names, and you can call .path on them to + obtain the full path. + +* 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. + Scheduled for the 2012.08 release. + +* 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. + Scheduled for the 2012.08 release, but may end up in 2012.09 . + +* The method Str.bytes will be removed. To get the number of codepoints + in a string, use .codes instead. To get the number of bytes in a + given encoding, use $str.encode($encoding).bytes . + Scheduled for the 2012.08 release. + +* The method Str.lcfirst will be removed without replacement. + Scheduled for the 2012.08 release. + +* The method Str.ucfirst will eventually be removed, and replaced by + Str.tc. + No schedule yet, depends on having tc implemented first. + +* 'abs' is currently a prefix operator, and will be changed to a normal + subroutine. + Scheduled for the 2012.08 release. + +* The integer argument to IO::Socket.recv will be interpreted as number of + characters/codepoints. + Scheduled for the 2012.08 release. + +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: + + * 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 a new online resource at http://perl6.org/compilers/features +that lists the known implemented and missing features of Rakudo Star +2012.08 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 . + +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. +An updated draft of a Perl 6 book is available as + 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 , ask on the perl6-compiler@perl.org +mailing list, or join us on IRC #perl6 on freenode. + +[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.08 +[1] http://github.com/rakudo/rakudo +[2] http://parrot.org/ diff --git a/docs/cheatsheet.txt b/docs/cheatsheet.txt new file mode 100644 index 0000000..8b8d104 --- /dev/null +++ b/docs/cheatsheet.txt @@ -0,0 +1,64 @@ +Perl 6 cheat sheet v2 »ö« + +SIGILS MAJOR/MINOR CONTEXTS ACCESS ARRAYS HASHES +$scalar item list sink whole: @array[] %hash{} +@array Str flat/slice element: @array[0] %hash{'a'} +%hash Num lazy/eager/hyper (or) %hash +&code Bool slice: @array[0,2] %hash{'a','b'} + COMPOSERS (or) %hash +TWIGILS [ ] array +$normal-lexical { } block/hash AUTOMATIC DEREFERENCE +$?compiler-constant < > quotewords &($foo)(1,2) == $foo(1,2) +$*dynamic-or-global (,) parcel @($foo)[1] == $foo[1] +$.public-accessor :() signature %($foo){'bar'} == $foo +$!private-attribute \() capture @(@($foo)[1])[2] == $foo[1][2] +$^positional-param +$:named-parameter CONTROL SYNTAX +$=pod-info for LIST { } # implicit $_ arg +$ for LIST -> $a, $b { } # explicit args +$~slang-variable while/until EXPR { } + repeat while/until EXPR { } # do at least once +OPERATOR PRECEDENCE loop { } loop (a;b;c) { } # parens required! +.method .[] i if EXPR { } elsif EXPR { } else { } +++ -- unless EXPR { } # no else allowed! +** given EXPR { when EXPR { } default { } } +unary + - ~ ! ? ^ EXPR if EXPR for LIST; # list comprehension +* / % %% div next, last, redo # loop controls ++ - proceed, succeed # switch controls +x xx TYPES +~ Bool Bit Int Rat FatRat UInt Num Complex int32 complex64 etc. +& Str Cat Blob Char Byte Codepoint Grapheme Buf buf8 buf32 utf8 +| ^ IO Mu Any Cool Junction Whatever Match +sleep abs sin temp Parcel Capture Signature +<=> leg cmp .. but SCOPE DECLARATORS Pair Range Set Bag +~~ > == gt eq === eqv !op my lexical scope KeyHash KeySet KeyBag +&& our package scope Scalar Array Hash Code +|| ^^ // min max has instance scope Enum Order TrigBase +??!! ff anon no scope at all Block Routine Sub += := op= => state persistent lexical Method Regex +so not augment benign parasitic Failure Exception +, : supersede deadly parasitic Instant Duration +X Xop Z Zop ... Date DateTime +say die map etc. OPERATOR DOMAINS +and Numeric: == !==(!=) + < > <=> <= >= +or xor Stringy: eq !eq(ne) ~ lt gt leg le ge +<== ==> Value: eqv !eqv before after cmp !after !before + ObjectID: === !=== +METAOPERATORS LINKS IRC +[op] reduce listop to A op B op C... perl6.org #perl6 irc.freenode.net +op= A = A op B rakudo.org #parrot irc.perl.org +!op !(A op B) +»op« hyper/vectorize REGEX METACHARS REGEX MODIFIERS +Zop zip with op ^ $ string begin/end :i ignore case +Xop cross with op ^^ $$ line begin/end :m ignore marks +Rop reverse args + one or more :g global +Sop sequentialize * zero or more :r ratchet + ? zero or one :s sigspace +SPECIAL VARIABLES **1..3 repeat in range :4th nth occurrence +$_ current topic () capture to $0,$1 :4x n times +$/ regex result [] no capture +$! error object subrule REGEX CHARCLASSES +@*ARGS command line <[]> character class . == anychar, \N non \n +@*INC include path | parallel or \s == , \S non +%*ENV environment || serial or \d == , \D non +$*PID process id « » word boundary \w == <+alpha+digit+[_]> -- cgit v1.1