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. --- skel/LICENSE | 201 -------------------- skel/README | 165 ----------------- skel/docs/CREDITS | 57 ------ skel/docs/UsingPerl6-draft.pdf | Bin 702794 -> 0 bytes skel/docs/announce/2010.07 | 125 ------------- skel/docs/announce/2010.08 | 79 -------- skel/docs/announce/2010.09 | 80 -------- skel/docs/announce/2010.10 | 77 -------- skel/docs/announce/2010.11 | 72 -------- skel/docs/announce/2010.12 | 72 -------- skel/docs/announce/2011.01 | 73 -------- skel/docs/announce/2011.04 | 79 -------- skel/docs/announce/2011.07 | 84 --------- skel/docs/announce/2012.01 | 122 ------------- skel/docs/announce/2012.02 | 101 ---------- skel/docs/announce/2012.04 | 80 -------- skel/docs/announce/2012.05 | 67 ------- skel/docs/announce/2012.06 | 82 --------- skel/docs/announce/2012.07 | 108 ----------- skel/docs/announce/2012.08 | 104 ----------- skel/docs/cheatsheet.txt | 64 ------- skel/tools/build/Makefile.in | 162 ---------------- skel/tools/build/bin-install.pl | 28 --- skel/tools/build/module-install.pl | 112 ------------ skel/tools/build/star-product.wxs | 68 ------- skel/tools/lib/NQP/Configure.pm | 365 ------------------------------------- 26 files changed, 2627 deletions(-) delete mode 100644 skel/LICENSE delete mode 100644 skel/README delete mode 100644 skel/docs/CREDITS delete mode 100644 skel/docs/UsingPerl6-draft.pdf delete mode 100644 skel/docs/announce/2010.07 delete mode 100644 skel/docs/announce/2010.08 delete mode 100644 skel/docs/announce/2010.09 delete mode 100644 skel/docs/announce/2010.10 delete mode 100644 skel/docs/announce/2010.11 delete mode 100644 skel/docs/announce/2010.12 delete mode 100644 skel/docs/announce/2011.01 delete mode 100644 skel/docs/announce/2011.04 delete mode 100644 skel/docs/announce/2011.07 delete mode 100644 skel/docs/announce/2012.01 delete mode 100644 skel/docs/announce/2012.02 delete mode 100644 skel/docs/announce/2012.04 delete mode 100644 skel/docs/announce/2012.05 delete mode 100644 skel/docs/announce/2012.06 delete mode 100644 skel/docs/announce/2012.07 delete mode 100644 skel/docs/announce/2012.08 delete mode 100644 skel/docs/cheatsheet.txt delete mode 100644 skel/tools/build/Makefile.in delete mode 100644 skel/tools/build/bin-install.pl delete mode 100644 skel/tools/build/module-install.pl delete mode 100644 skel/tools/build/star-product.wxs delete mode 100644 skel/tools/lib/NQP/Configure.pm (limited to 'skel') diff --git a/skel/LICENSE b/skel/LICENSE deleted file mode 100644 index 32efefc..0000000 --- a/skel/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - The Artistic License 2.0 - - Copyright (c) 2000-2006, The Perl Foundation. - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -Preamble - -This license establishes the terms under which a given free software -Package may be copied, modified, distributed, and/or redistributed. -The intent is that the Copyright Holder maintains some artistic -control over the development of that Package while still keeping the -Package available as open source and free software. - -You are always permitted to make arrangements wholly outside of this -license directly with the Copyright Holder of a given Package. If the -terms of this license do not permit the full use that you propose to -make of the Package, you should contact the Copyright Holder and seek -a different licensing arrangement. - -Definitions - - "Copyright Holder" means the individual(s) or organization(s) - named in the copyright notice for the entire Package. - - "Contributor" means any party that has contributed code or other - material to the Package, in accordance with the Copyright Holder's - procedures. - - "You" and "your" means any person who would like to copy, - distribute, or modify the Package. - - "Package" means the collection of files distributed by the - Copyright Holder, and derivatives of that collection and/or of - those files. A given Package may consist of either the Standard - Version, or a Modified Version. - - "Distribute" means providing a copy of the Package or making it - accessible to anyone else, or in the case of a company or - organization, to others outside of your company or organization. - - "Distributor Fee" means any fee that you charge for Distributing - this Package or providing support for this Package to another - party. It does not mean licensing fees. - - "Standard Version" refers to the Package if it has not been - modified, or has been modified only in ways explicitly requested - by the Copyright Holder. - - "Modified Version" means the Package, if it has been changed, and - such changes were not explicitly requested by the Copyright - Holder. - - "Original License" means this Artistic License as Distributed with - the Standard Version of the Package, in its current version or as - it may be modified by The Perl Foundation in the future. - - "Source" form means the source code, documentation source, and - configuration files for the Package. - - "Compiled" form means the compiled bytecode, object code, binary, - or any other form resulting from mechanical transformation or - translation of the Source form. - - -Permission for Use and Modification Without Distribution - -(1) You are permitted to use the Standard Version and create and use -Modified Versions for any purpose without restriction, provided that -you do not Distribute the Modified Version. - - -Permissions for Redistribution of the Standard Version - -(2) You may Distribute verbatim copies of the Source form of the -Standard Version of this Package in any medium without restriction, -either gratis or for a Distributor Fee, provided that you duplicate -all of the original copyright notices and associated disclaimers. At -your discretion, such verbatim copies may or may not include a -Compiled form of the Package. - -(3) You may apply any bug fixes, portability changes, and other -modifications made available from the Copyright Holder. The resulting -Package will still be considered the Standard Version, and as such -will be subject to the Original License. - - -Distribution of Modified Versions of the Package as Source - -(4) You may Distribute your Modified Version as Source (either gratis -or for a Distributor Fee, and with or without a Compiled form of the -Modified Version) provided that you clearly document how it differs -from the Standard Version, including, but not limited to, documenting -any non-standard features, executables, or modules, and provided that -you do at least ONE of the following: - - (a) make the Modified Version available to the Copyright Holder - of the Standard Version, under the Original License, so that the - Copyright Holder may include your modifications in the Standard - Version. - - (b) ensure that installation of your Modified Version does not - prevent the user installing or running the Standard Version. In - addition, the Modified Version must bear a name that is different - from the name of the Standard Version. - - (c) allow anyone who receives a copy of the Modified Version to - make the Source form of the Modified Version available to others - under - - (i) the Original License or - - (ii) a license that permits the licensee to freely copy, - modify and redistribute the Modified Version using the same - licensing terms that apply to the copy that the licensee - received, and requires that the Source form of the Modified - Version, and of any works derived from it, be made freely - available in that license fees are prohibited but Distributor - Fees are allowed. - - -Distribution of Compiled Forms of the Standard Version -or Modified Versions without the Source - -(5) You may Distribute Compiled forms of the Standard Version without -the Source, provided that you include complete instructions on how to -get the Source of the Standard Version. Such instructions must be -valid at the time of your distribution. If these instructions, at any -time while you are carrying out such distribution, become invalid, you -must provide new instructions on demand or cease further distribution. -If you provide valid instructions or cease distribution within thirty -days after you become aware that the instructions are invalid, then -you do not forfeit any of your rights under this license. - -(6) You may Distribute a Modified Version in Compiled form without -the Source, provided that you comply with Section 4 with respect to -the Source of the Modified Version. - - -Aggregating or Linking the Package - -(7) You may aggregate the Package (either the Standard Version or -Modified Version) with other packages and Distribute the resulting -aggregation provided that you do not charge a licensing fee for the -Package. Distributor Fees are permitted, and licensing fees for other -components in the aggregation are permitted. The terms of this license -apply to the use and Distribution of the Standard or Modified Versions -as included in the aggregation. - -(8) You are permitted to link Modified and Standard Versions with -other works, to embed the Package in a larger work of your own, or to -build stand-alone binary or bytecode versions of applications that -include the Package, and Distribute the result without restriction, -provided the result does not expose a direct interface to the Package. - - -Items That are Not Considered Part of a Modified Version - -(9) Works (including, but not limited to, modules and scripts) that -merely extend or make use of the Package, do not, by themselves, cause -the Package to be a Modified Version. In addition, such works are not -considered parts of the Package itself, and are not subject to the -terms of this license. - - -General Provisions - -(10) Any use, modification, and distribution of the Standard or -Modified Versions is governed by this Artistic License. By using, -modifying or distributing the Package, you accept this license. Do not -use, modify, or distribute the Package, if you do not accept this -license. - -(11) If your Modified Version has been derived from a Modified -Version made by someone other than you, you are nevertheless required -to ensure that your Modified Version complies with the requirements of -this license. - -(12) This license does not grant you the right to use any trademark, -service mark, tradename, or logo of the Copyright Holder. - -(13) This license includes the non-exclusive, worldwide, -free-of-charge patent license to make, have made, use, offer to sell, -sell, import and otherwise transfer the Package with respect to any -patent claims licensable by the Copyright Holder that are necessarily -infringed by the Package. If you institute patent litigation -(including a cross-claim or counterclaim) against any party alleging -that the Package constitutes direct or contributory patent -infringement, then this Artistic License to you shall terminate on the -date that such litigation is filed. - -(14) Disclaimer of Warranty: -THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS -IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR -NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL -LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/skel/README b/skel/README deleted file mode 100644 index 2194532..0000000 --- a/skel/README +++ /dev/null @@ -1,165 +0,0 @@ -This is Rakudo Star, a useful, usable Perl 6 distribution for "early adopters". - -This is the 2012.08 release of Rakudo Star. - -Rakudo Star is Copyright (C) 2010 - 2012 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 spectest" in the rakudo/ subdirectory will import -the official Perl 6 test suite from the roast repository -(https://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. - -For more details about running tests, see rakudo/README . - - -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. - diff --git a/skel/docs/CREDITS b/skel/docs/CREDITS deleted file mode 100644 index f933c37..0000000 --- a/skel/docs/CREDITS +++ /dev/null @@ -1,57 +0,0 @@ -=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/skel/docs/UsingPerl6-draft.pdf b/skel/docs/UsingPerl6-draft.pdf deleted file mode 100644 index 0a3ded4..0000000 Binary files a/skel/docs/UsingPerl6-draft.pdf and /dev/null differ diff --git a/skel/docs/announce/2010.07 b/skel/docs/announce/2010.07 deleted file mode 100644 index 5896acc..0000000 --- a/skel/docs/announce/2010.07 +++ /dev/null @@ -1,125 +0,0 @@ -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/skel/docs/announce/2010.08 b/skel/docs/announce/2010.08 deleted file mode 100644 index 42ac145..0000000 --- a/skel/docs/announce/2010.08 +++ /dev/null @@ -1,79 +0,0 @@ -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/skel/docs/announce/2010.09 b/skel/docs/announce/2010.09 deleted file mode 100644 index 5fac9da..0000000 --- a/skel/docs/announce/2010.09 +++ /dev/null @@ -1,80 +0,0 @@ -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/skel/docs/announce/2010.10 b/skel/docs/announce/2010.10 deleted file mode 100644 index e85bf33..0000000 --- a/skel/docs/announce/2010.10 +++ /dev/null @@ -1,77 +0,0 @@ -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/skel/docs/announce/2010.11 b/skel/docs/announce/2010.11 deleted file mode 100644 index 294159d..0000000 --- a/skel/docs/announce/2010.11 +++ /dev/null @@ -1,72 +0,0 @@ -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/skel/docs/announce/2010.12 b/skel/docs/announce/2010.12 deleted file mode 100644 index 67d088f..0000000 --- a/skel/docs/announce/2010.12 +++ /dev/null @@ -1,72 +0,0 @@ -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/skel/docs/announce/2011.01 b/skel/docs/announce/2011.01 deleted file mode 100644 index be3c8a3..0000000 --- a/skel/docs/announce/2011.01 +++ /dev/null @@ -1,73 +0,0 @@ -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/skel/docs/announce/2011.04 b/skel/docs/announce/2011.04 deleted file mode 100644 index c441c12..0000000 --- a/skel/docs/announce/2011.04 +++ /dev/null @@ -1,79 +0,0 @@ -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/skel/docs/announce/2011.07 b/skel/docs/announce/2011.07 deleted file mode 100644 index b51858b..0000000 --- a/skel/docs/announce/2011.07 +++ /dev/null @@ -1,84 +0,0 @@ -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/skel/docs/announce/2012.01 b/skel/docs/announce/2012.01 deleted file mode 100644 index 44b1f11..0000000 --- a/skel/docs/announce/2012.01 +++ /dev/null @@ -1,122 +0,0 @@ -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/skel/docs/announce/2012.02 b/skel/docs/announce/2012.02 deleted file mode 100644 index a32f5da..0000000 --- a/skel/docs/announce/2012.02 +++ /dev/null @@ -1,101 +0,0 @@ -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/skel/docs/announce/2012.04 b/skel/docs/announce/2012.04 deleted file mode 100644 index 3acad8c..0000000 --- a/skel/docs/announce/2012.04 +++ /dev/null @@ -1,80 +0,0 @@ -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/skel/docs/announce/2012.05 b/skel/docs/announce/2012.05 deleted file mode 100644 index d6f2575..0000000 --- a/skel/docs/announce/2012.05 +++ /dev/null @@ -1,67 +0,0 @@ -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/skel/docs/announce/2012.06 b/skel/docs/announce/2012.06 deleted file mode 100644 index 0384ded..0000000 --- a/skel/docs/announce/2012.06 +++ /dev/null @@ -1,82 +0,0 @@ -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/skel/docs/announce/2012.07 b/skel/docs/announce/2012.07 deleted file mode 100644 index d8f5d56..0000000 --- a/skel/docs/announce/2012.07 +++ /dev/null @@ -1,108 +0,0 @@ -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/skel/docs/announce/2012.08 b/skel/docs/announce/2012.08 deleted file mode 100644 index f734c36..0000000 --- a/skel/docs/announce/2012.08 +++ /dev/null @@ -1,104 +0,0 @@ -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/skel/docs/cheatsheet.txt b/skel/docs/cheatsheet.txt deleted file mode 100644 index 8b8d104..0000000 --- a/skel/docs/cheatsheet.txt +++ /dev/null @@ -1,64 +0,0 @@ -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+[_]> diff --git a/skel/tools/build/Makefile.in b/skel/tools/build/Makefile.in deleted file mode 100644 index 733793b..0000000 --- a/skel/tools/build/Makefile.in +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright (C) 2006-2012, The Perl Foundation. -# $Id$ - -PARROT = parrot-4.6.0 -NQP = nqp-2012.08 -RAKUDO = rakudo-2012.08 -STAR_VERSION = 2012.08 - -PARROT_ARGS = - -# values from parrot_config -PREFIX_DIR = @prefix@ -PARROT_BIN_DIR = @bindir@ -PARROT_VERSION = @versiondir@ -PARROT_INCLUDE_DIR = @includedir@$(PARROT_VERSION) -PARROT_LIB_DIR = @libdir@$(PARROT_VERSION) -PARROT_SRC_DIR = @srcdir@$(PARROT_VERSION) -HAS_ICU = @has_icu@ - -CC = @cc@ -CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @gc_flag@ -EXE = @exe@ -LD = @ld@ -LDFLAGS = @ldflags@ @ld_debug@ -LD_LOAD_FLAGS = @ld_load_flags@ -LIBPARROT = @inst_libparrot_ldflags@ -O = @o@ -LOAD_EXT = @load_ext@ -PERL = @perl@ -CP = @cp@ -MV = @mv@ -RM_F = @rm_f@ -MKPATH = $(PERL) -MExtUtils::Command -e mkpath -CHMOD = $(PERL) -MExtUtils::Command -e chmod -POD2MAN = @pod2man@ - -# locations of parrot resources -PARROT = $(PARROT_BIN_DIR)/parrot$(EXE) -NQP_EXE = $(PARROT_BIN_DIR)/nqp$(EXE) -PBC_TO_EXE = $(PARROT_BIN_DIR)/pbc_to_exe$(EXE) -PARROT_CONFIG = $(PARROT_BIN_DIR)/parrot_config$(EXE) -PARROT_TOOLS_DIR = $(PARROT_LIB_DIR)/tools -PARROT_PERL_LIB = $(PARROT_TOOLS_DIR)/lib -OPS2C = $(PARROT_BIN_DIR)/ops2c$(EXE) -PMC2C = $(PERL) $(PARROT_TOOLS_DIR)/build/pmc2c.pl -PMC2C_INCLUDES = --include src/pmc --include $(PARROT_SRC_DIR) --include $(PARROT_SRC_DIR)/pmc -CINCLUDES = -I$(PARROT_INCLUDE_DIR) -I$(PARROT_INCLUDE_DIR)/pmc -LINKARGS = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @libs@ @icu_shared@ - -PERL6_EXE = perl6$(EXE) -PERL6_LANG_DIR = $(PARROT_LIB_DIR)/languages/perl6 - -# This list must be kept in order, modules always coming after their -# dependencies -MODULES = \ - modules/zavolaj \ - modules/xml-writer \ - modules/svg \ - modules/svg-plot \ - modules/Math-RungeKutta \ - modules/Math-Model \ - modules/perl6-Term-ANSIColor \ - modules/test-mock \ - modules/Grammar-Profiler-Simple \ - modules/grammar-debugger \ - modules/Perl6-MIME-Base64 \ - modules/uri \ - modules/perl6-lwp-simple \ - modules/json \ - modules/perl6-digest-md5 \ - modules/perl6-File-Tools \ - modules/panda \ - modules/perl6-http-status \ - modules/perl6-http-easy \ - modules/Template-Mojo \ - modules/Bailador \ - modules/DBIish \ - modules/jsonrpc \ - modules/Pod-To-HTML \ - modules/doc \ - -all: rakudo - -rakudo: $(RAKUDO)/$(PERL6_EXE) -$(RAKUDO)/$(PERL6_EXE): - @echo "== Configuring and building Rakudo" - cd $(RAKUDO) && $(PERL) Configure.pl --with-nqp=$(NQP_EXE) && $(MAKE) -rakudo-test: rakudo - cd $(RAKUDO) && $(MAKE) test -rakudo-spectest: rakudo - cd $(RAKUDO) && $(MAKE) spectest -rakudo-install: rakudo - cd $(RAKUDO) && $(MAKE) install - @win32_libparrot_copy@ - $(CP) $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) . - $(CHMOD) 755 $(PERL6_EXE) - -modules-install: rakudo - @echo "== Installing 'ufo'" - $(PERL) tools/build/module-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PERL6_LANG_DIR)/lib $(MODULES) - @echo "== Installing binaries" - $(PERL) tools/build/bin-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PARROT_BIN_DIR) modules/ufo/bin/ufo modules/panda/bin/panda - -install: rakudo-install modules-install - -test: - @echo "" - @echo "To run the Rakudo compiler tests, use 'make rakudo-test'" - @echo "To run the Perl 6 spectests, use 'make rakudo-spectest'" - @echo "" - @echo "To run tests for individual modules, try:" - @echo " prove -e ./perl6 -r modules//t" - @echo "" - -## cleaning -clean: - $(RM_F) $(CLEANUPS) - -distclean: realclean - -realclean: clean - $(RM_F) Makefile - -testclean: - - -## miscellaneous targets -# a listing of all targets meant to be called by users -help: - @echo "" - @echo "Following targets are available for the user:" - @echo "" - @echo "Maintenance:" - @echo " perlcritic: Run Perl::Critic on all the Perl 5 code." - @echo "" - @echo "Cleaning:" - @echo " clean: Basic cleaning up." - @echo " distclean: Removes also anything built, in theory." - @echo " realclean: Removes also files generated by 'Configure.pl'." - @echo " testclean: Clean up test results." - @echo "" - @echo "Misc:" - @echo " help: Print this help message." - @echo "" - -config: - $(PERL) Configure.pl - -$(PARROT): - -CRITIC_FILES=Configure.pl tools/build/ - -perlcritic: - perlcritic -1 --profile tools/util/perlcritic.conf $(CRITIC_FILES) - -msi: - -$(CP) c:/strawberry/c/bin/libgcc_s_sjlj-1.dll $(PARROT_BIN_DIR) - cmd /c heat dir $(PREFIX_DIR) -gg -sfrag -cg RakudoStar -dr INSTALLROOT -srd -out star-files.wxs - cmd /c candle star-files.wxs - cmd /c candle -dSTARVERSION=$(STAR_VERSION) tools/build/star-product.wxs - cmd /c light -b $(PREFIX_DIR) -ext WixUIExtension star-files.wixobj star-product.wixobj -o rakudo-star-$(STAR_VERSION).msi - diff --git a/skel/tools/build/bin-install.pl b/skel/tools/build/bin-install.pl deleted file mode 100644 index 1c71cea..0000000 --- a/skel/tools/build/bin-install.pl +++ /dev/null @@ -1,28 +0,0 @@ -#! perl - -use strict; -use warnings; -use File::Spec; - -my ($p6bin, $dest, @files) = @ARGV; -die "Usage: $0 " - unless $p6bin && $dest; - -for my $filename (@files) { - open my $IN, '<', $filename - or die "Cannot read file '$filename' for installing it: $!"; - my $basename = (File::Spec->splitpath($filename))[2]; - open my $OUT, '>', "$dest/$basename" - or die "Cannot write file '$dest/$basename' for installing it: $!"; - while (<$IN>) { - if ($. == 1 && /^#!/) { - print { $OUT } "#!$p6bin\n"; - } - else { - print { $OUT } $_; - } - } - close $OUT or die "Error while closing file '$dest/$basename': $!"; - close $IN; - chmod 0755, "$dest/$basename"; -} diff --git a/skel/tools/build/module-install.pl b/skel/tools/build/module-install.pl deleted file mode 100644 index 8d69c78..0000000 --- a/skel/tools/build/module-install.pl +++ /dev/null @@ -1,112 +0,0 @@ -#! perl - -use warnings; -use strict; -use File::Find; -use File::Copy; -use File::Path; -use File::Basename; - -my $perl6bin = shift @ARGV; -my $perl6lib = shift @ARGV; - -my @pmfiles; -my @mod_pms; -while (@ARGV) { - my $module = shift @ARGV; - print "== Installing module $module\n"; - our $mlib = "$module/lib"; - - @mod_pms = (); - find({ no_chdir=>1, wanted => \&libcopy }, $mlib); - - sub libcopy { - return unless /\.pm6?|\.pod/; - my $source = $File::Find::name; - my $target = $source; - $target =~ s/\Q$mlib\E/$perl6lib/; - print "$source => $target\n"; - mkpath dirname($target); - copy($source, $target) or die "copy failed: $!\n"; - push @mod_pms, $target if $target =~ /\.pm6?/; - } - - my %usages_of; - my @modules; - my %module_to_path; - for my $module_file (@mod_pms) { - open(my $fh, '<', $module_file) or die $!; - my $module = path_to_module_name($module_file); - push @modules, $module; - $module_to_path{$module} = $module_file; - $usages_of{$module} = []; - while (<$fh>) { - if (/^\s* (?:use|need) \s+ (\w+ (?: :: \w+)*)/x and my $used = $1) { - next if $used eq 'v6'; - next if $used eq 'MONKEY_TYPING'; - - push @{$usages_of{$module}}, $used; - } - } - } - - my @order = topo_sort(\@modules, \%usages_of); - my @sources = map { $module_to_path{$_} } @order; - push @pmfiles, @sources; -} - -# Internally, we treat the module names as module names, '::' and all. -# But since they're really files externally, they have to be converted -# from paths to module names, and back again. - -sub path_to_module_name { - $_ = shift; - s/^.+\blib\///; - s/^.+\blib6\///; - s/\.pm6?$//; - s/\//::/g; - $_; -} - -chdir 'rakudo'; -foreach my $pm (@pmfiles) { - my $out = $pm; - $out =~ s/\.pm6?$/.pir/; - my @cmd = ($perl6bin, '--target=pir', "--output=$out", $pm); - print join(' ', @cmd), "\n"; - system(@cmd); -} - - -# According to "Introduction to Algorithms" by Cormen et al., topological -# sort is just a depth-first search of a graph where you pay attention to -# the order in which you get done with a dfs-visit() for each node. - -sub topo_sort { - my ($modules, $dependencies) = @_; - my @modules = @$modules; - my @order; - my %color_of = map { $_ => 'not yet visited' } @modules; - - for my $module (@modules) { - if ($color_of{$module} eq 'not yet visited') { - dfs_visit($module, \%color_of, $dependencies, \@order); - } - } - return @order; -} - -sub dfs_visit { - my $module = shift; - my $color_of = shift; - my $dependencies = shift; - my $order = shift; - $color_of->{$module} = 'visited'; - for my $used (@{$dependencies->{$module}}) { - $color_of->{$used} ||= ''; - if ($color_of->{$used} eq 'not yet visited') { - dfs_visit($used, $color_of, $dependencies, $order); - } - } - push @$order, $module; -} diff --git a/skel/tools/build/star-product.wxs b/skel/tools/build/star-product.wxs deleted file mode 100644 index c950e97..0000000 --- a/skel/tools/build/star-product.wxs +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 1 - - 1 - - 1 - - 1 - 1 - 1 - - - - - - - diff --git a/skel/tools/lib/NQP/Configure.pm b/skel/tools/lib/NQP/Configure.pm deleted file mode 100644 index e93c366..0000000 --- a/skel/tools/lib/NQP/Configure.pm +++ /dev/null @@ -1,365 +0,0 @@ -package NQP::Configure; -use strict; -use warnings; -use Cwd; - -use base qw(Exporter); -our @EXPORT_OK = qw(sorry slurp system_or_die - cmp_rev - read_parrot_config read_config - fill_template_file fill_template_text - git_checkout - verify_install - gen_nqp gen_parrot); - -our $exe = $^O eq 'MSWin32' ? '.exe' : ''; - -our @required_parrot_files = qw( - @bindir@/parrot@exe@ - @bindir@/pbc_to_exe@exe@ - @bindir@/ops2c@exe@ - @libdir@@versiondir@/tools/build/pmc2c.pl - @srcdir@@versiondir@/pmc - @includedir@@versiondir@/pmc -); - -our @required_nqp_files = qw( - @bindir@/nqp@exe@ -); - -our $nqp_git = 'git://github.com/perl6/nqp.git'; -our $par_git = 'git://github.com/parrot/parrot.git'; - -sub sorry { - my @msg = @_; - die join("\n", '', '===SORRY!===', @msg, "\n"); -} - -sub slurp { - my $filename = shift; - open my $fh, '<', $filename - or die "Unable to read $filename\n"; - local $/ = undef; - my $text = <$fh>; - close $fh or die $!; - return $text; -} - - -sub system_or_die { - my @cmd = @_; - system( @cmd ) == 0 - or die "Command failed (status $?): @cmd\n"; -} - - -sub parse_revision { - my $rev = shift; - my $sep = qr/[_.]/; - $rev =~ /(\d+)$sep(\d+)(?:$sep(\d+))?(?:-(\d+)-g[a-f0-9]*)?$/ - or die "Unrecognized revision specifier '$rev'\n"; - return ($1, $2, $3 || 0, $4 || 0); -} - - -sub cmp_rev { - my ($a, $b) = @_; - my @a = parse_revision($a); - my @b = parse_revision($b); - my $cmp = 0; - for (0..3) { - $cmp = $a[$_] <=> $b[$_]; - last if $cmp; - } - $cmp; -} - - -sub read_config { - my @config_src = @_; - my %config = (); - for my $file (@config_src) { - no warnings; - if (open my $CONFIG, '-|', "$file --show-config") { - while (<$CONFIG>) { - if (/^([\w:]+)=(.*)/) { $config{$1} = $2 } - } - close($CONFIG); - } - last if %config; - } - return %config; -} - - -sub read_parrot_config { - my @parrot_config_src = @_; - my %config = (); - open my $CONFIG_PIR, '>', 'parrot-config.pir' - or die "Unable to write parrot-config.pir\n"; - print $CONFIG_PIR <<'END'; - .include 'iglobals.pasm' - .sub "main" :main - .local pmc interp, config_hash, config_iter - interp = getinterp - config_hash = interp[.IGLOBALS_CONFIG_HASH] - config_iter = iter config_hash - config_loop: - unless config_iter goto config_done - $P0 = shift config_iter - print "parrot::" - $S0 = $P0.'key'() - print $S0 - print "=" - $S0 = $P0.'value'() - print $S0 - print "\n" - goto config_loop - config_done: - .return () - .end -END - close($CONFIG_PIR); - - for my $file (@parrot_config_src) { - no warnings; - if ($file =~ /.pir$/ && open my $PARROT_CONFIG, '<', $file) { - while (<$PARROT_CONFIG>) { - if (/P0\["(.*?)"\], "(.*?)"/) { $config{"parrot::$1"} = $2 } - } - close($PARROT_CONFIG) or die $!; - } - elsif (open my $PARROT, '-|', "$file parrot-config.pir") { - while (<$PARROT>) { - if (/^([\w:]+)=(.*)/) { $config{$1} = $2 } - } - close($PARROT); - } - last if %config; - } - unlink('parrot-config.pir'); - return %config; -} - - -sub fill_template_file { - my $infile = shift; - my $outfile = shift; - my %config = @_; - my $text = slurp( $infile ); - $text = fill_template_text($text, %config); - print "\nCreating $outfile ...\n"; - open(my $OUT, '>', $outfile) - or die "Unable to write $outfile\n"; - print $OUT $text; - close($OUT) or die $!; -} - - -sub fill_template_text { - my $text = shift; - my %config = @_; - - $text =~ s/@([:\w]+)@/$config{$1} || $config{"parrot::$1"} || ''/ge; - if ($text =~ /nqp::makefile/) { - if ($^O eq 'MSWin32') { - $text =~ s{/}{\\}g; - $text =~ s{\\\*}{\\\\*}g; - $text =~ s{(?:git|http):\S+}{ do {my $t = $&; $t =~ s'\\'/'g; $t} }eg; - $text =~ s/.*curl.*/do {my $t = $&; $t =~ s'%'%%'g; $t}/meg; - } - if ($config{'makefile-timing'}) { - $text =~ s{ (?@?[ \t]*)) # capture tab, optional @, and hspace - (?!-) # not before - (ignore error) lines - (?!cd) # not before cd lines - (?!echo) # not before echo lines - (?=\S) # must be before non-blank - } - {$1time\ }mgx; - } - } - $text; -} - - -sub git_checkout { - my $repo = shift; - my $dir = shift; - my $checkout = shift; - my $pwd = cwd(); - - # get an up-to-date repository - if (! -d $dir) { - system_or_die('git', 'clone', $repo, $dir); - chdir($dir); - } - else { - chdir($dir); - system_or_die('git', 'fetch'); - } - - if ($checkout) { - system_or_die('git', 'checkout', $checkout); - system_or_die('git', 'pull') - if slurp('.git/HEAD') =~ /^ref:/; - } - - my $git_describe; - if (open(my $GIT, '-|', "git describe --tags")) { - $git_describe = <$GIT>; - close($GIT); - chomp $git_describe; - } - chdir($pwd); - $git_describe; -} - - -sub verify_install { - my $files = shift; - my %config = @_; - print "Verifying installation ...\n"; - my @missing; - for my $reqfile ( @{$files} ) { - my $f = fill_template_text($reqfile, %config); - push @missing, " $f" unless -e $f; - } - if (@missing) { - unshift @missing, "I'm missing some needed files:"; - } - @missing; -} - - -sub gen_nqp { - my $nqp_want = shift; - my %options = @_; - - my $gen_nqp = $options{'gen-nqp'}; - my $with_parrot = $options{'with-parrot'}; - my $gen_parrot = $options{'gen-parrot'}; - my $prefix = $options{'prefix'} || cwd().'/install'; - my $startdir = cwd(); - my $nqpdir = "$startdir/nqp"; - - my $PARROT_REVISION = 'nqp/tools/build/PARROT_REVISION'; - - my %config; - my $nqp_exe; - if ($with_parrot) { - %config = read_parrot_config($with_parrot) - or die "Unable to read parrot configuration from $with_parrot\n"; - $prefix = $config{'parrot::prefix'}; - $nqp_exe = fill_template_text('@bindir@/nqp@ext@', %config); - %config = read_config($nqp_exe); - } - elsif ($prefix) { - $nqp_exe = "$prefix/bin/nqp$exe"; - %config = read_config($nqp_exe); - } - - my $nqp_have = $config{'nqp::version'} || ''; - my $nqp_ok = $nqp_have && cmp_rev($nqp_have, $nqp_want) >= 0; - if ($gen_nqp && -d $gen_nqp) { - $nqpdir = $gen_nqp; - print "Building NQP from source in $nqpdir\n"; - } - elsif ($gen_nqp) { - my $nqp_repo = git_checkout($nqp_git, 'nqp', $gen_nqp); - $nqp_ok = $nqp_have eq $nqp_repo; - } - elsif (!$nqp_ok || defined $gen_parrot && !-f $PARROT_REVISION) { - git_checkout($nqp_git, 'nqp', $nqp_want); - } - - if (defined $gen_parrot) { - $PARROT_REVISION = "$nqpdir/tools/build/PARROT_REVISION"; - my ($par_want) = split(' ', slurp($PARROT_REVISION)); - $with_parrot = gen_parrot($par_want, %options, prefix => $prefix); - %config = read_parrot_config($with_parrot); - } - elsif (!%config) { - %config = read_parrot_config("$prefix/bin/parrot$exe", "parrot$exe"); - $with_parrot = fill_template_text('@bindir@/parrot@exe@', %config); - } - - if ($nqp_ok && -M $nqp_exe < -M $with_parrot) { - print "$nqp_exe is NQP $nqp_have.\n"; - return $nqp_exe; - } - - my @cmd = ($^X, 'Configure.pl', "--with-parrot=$with_parrot", - "--make-install"); - print "Building NQP ...\n"; - chdir($nqpdir); - print "@cmd\n"; - system_or_die(@cmd); - chdir($startdir); - return fill_template_text('@bindir@/nqp@exe@', %config); -} - - -sub gen_parrot { - my $par_want = shift; - my %options = @_; - - my $prefix = $options{'prefix'} || cwd()."/install"; - my $gen_parrot = $options{'gen-parrot'}; - my @opts = @{ $options{'parrot-option'} || [] }; - push @opts, "--optimize"; - my $startdir = cwd(); - my $parrotdir = "$startdir/parrot"; - - my $par_exe = "$options{'prefix'}/bin/parrot$exe"; - my %config = read_parrot_config($par_exe); - - my $par_have = $config{'parrot::git_describe'} || ''; - my $par_ok = $par_have && cmp_rev($par_have, $par_want) >= 0; - if ($gen_parrot && -d $gen_parrot) { - $parrotdir = $gen_parrot; - print "Building Parrot from source in $parrotdir\n"; - } - elsif ($gen_parrot) { - my $par_repo = git_checkout($par_git, 'parrot', $gen_parrot); - $par_ok = $par_have eq $par_repo; - } - elsif (!$par_ok) { - git_checkout($par_git, 'parrot', $par_want); - } - - if ($par_ok) { - print "$par_exe is Parrot $par_have.\n"; - return $par_exe; - } - chdir($parrotdir) or die $!; - if (-f 'Makefile') { - %config = read_parrot_config('config_lib.pir'); - my $make = $config{'parrot::make'}; - if ($make) { - print "\nPerforming '$make realclean' ...\n"; - system_or_die($make, 'realclean'); - } - } - - $prefix =~ s{\\}{/}g; - - print "\nConfiguring Parrot ...\n"; - my @cmd = ($^X, "Configure.pl", @opts, "--prefix=$prefix"); - print "@cmd\n"; - system_or_die(@cmd); - - print "\nBuilding Parrot ...\n"; - %config = read_parrot_config('config_lib.pir'); - my $make = $config{'parrot::make'} or - die "Unable to determine value for 'make' from parrot config\n"; - system_or_die($make, 'install-dev'); - chdir($startdir); - - print "Parrot installed.\n"; - return fill_template_text('@bindir@/parrot@exe@', %config); -} - - -1; -- cgit v1.1