Perl 6: Revision 81
Welcome to the home page for Perl 6 WWiki
This is the home page for Perl 6
- Please post any questions about this Wiki (plus notifications of any noteworthy updates you make) to perl.perl6.users. (See section on Perl 6 mailing lists for more information.)
- Please feel free to add or modify pages — even this one — as you see fit. That's the idea of a Workspace. So please contribute links and information! (See Wiki 101 at bottom of page to get started.)
- About that $1,000 Perl 6 Wiki prize.
These projects are closely related to Perl 6, but they are designed to support a wide range of other languages as well.
- There is a seperate workspace for Parrot, the Perl 6 virtual machine.
- CPAN6 is designed to be the successor to Perl 5's CPAN.
What is Perl 6?
- Perl 6 is an extensively refactored, super-modernized, and ultra-supercharged derivative of Perl 5. Simple things will still be simple to do, but you'll have enormously more "syntactic compound leverage" and "semantic overdrive" available for tackling challenging tasks.
- Chromatic has written a good introductory article on why Perl 6 is needed, and what it is.
- Also see Juerd's Refuting Perl 6 Myths. (A slight correction to Juerd's slides: it is Perl 5.10 that will have many Perl 6 features you can start using. These will be in feature.pm, which is currently part of the Perl 5.9 developer branch.)
- See the documentation section below for much more information.
The Long Perl 6 Super-Feature List
- The Long Perl 6 Super-Feature List This list was moved to its own page so that there would be plenty of room for people at add additional explanations of what these features are, and to explain why they are Very Good Things (tm).
- Larry Wall (2006): Perhaps the Perl 6 slogan should be "All Your Paradigms Are Belong To Us". We'll get to that.
- Damian Conway (2003): The Perl 6 design process is about keeping what works in Perl 5, fixing what doesn't, and adding what's missing. That means there will be a few fundamental changes to the language, a large number of extensions to existing features, and a handful of completely new ideas. These modifications, enhancements, and innovations will work together to make the future Perl even more insanely great — without, we hope, making it even more greatly insane.
- Perl 6 is still under construction. So don't make critical plans that depend on it just yet. However, please see other sections below about intermediate Perl 6-related solutions you can use now (or soon, as in Perl 5.10, which will feature several Perl 6 features).
- Crazy (in a good way).
- Perl 5 : Swiss Army Chain Saw == Perl 6 : Swiss Army T-X Terminator (on the side of humans in this case).
The Latest Perl 6 Info
(See the next major section for general information, including documentation, tutorials, and so on.)
- (waiting for volunteers to update)
Perl 6 News
Perl 6 Mailing Lists
The currently active Perl 6 mailing lists are at (http://www.nntp.perl.org/group/) and Google Groups (http://groups.google.com/) under these names:
(Note: since Google Groups mirrors these lists, there used to be some sort of problem with posts to these groups through Google not being seen by the subscribers to the underlying mail lists, meaning most people never saw the post in real time. Please update this note if that's changed. Keep in mind that Google Groups is still a fantastic resource for searching perl.perl6.* archives, and for reading threads on the web.)
You can also get these list by email; see (http://lists.cpan.org/showlist.cgi?name=perl6-users) for details (and make appropriate substitutions on "-users" for other groups).
You can access the mailing lists in several ways (we use perl.perl6.users as an example below, make appropriate substitutions for the other cases):
Perl 6 IRC
IRC channels (and their archives) are a major source of useful information. NOTE: Please don't unthinkingly interrupt and pester the developers of Perl 6 with questions that you can just as well ask on perl.perl6.users, which they and others can then later answer at their convenience. (As always, it's good manners to search Google Groups and to check archival logs before posting questions.)
- The "#perl6" IRC channel is on (http://freenode.net/).
- Daily logs are available.
- "TimToady" is Larry Wall's nickname on #perl6.
- Need an IRC client on Windows? Try Chatzilla, a Firefox extension.
- Some handy #perl6 "bot-isms":
- ?eval <Perl 6 expression> # Replays with evaluated expression.
- perlbot nopaste # Use to paste blocks of text offline; it replies to IRC with URL to it.
Where to get Perl 6
Perl 6 Docs
- Glossary of Perl 6 Terms and Jargon.
- Official Perl 6 Documentation (Which means, documentation that is officially bundled with Perl 6 builds and releases.)
- Perl 6 Community Development Server (http://feather.perl6.nl/)
- Perl's Official Home Page (at perl.org)
- Another Perl 6 Wiki (For a long time, the Perl 6 Wiki at perl.net.au was the best general introduction to Perl 6, and was a great point of departure to other Perl 6 resources around the web. It's still worth checking out.)
- Perl 6 Tutorial
- Perl 6 Users FAQ (The initial large batch of text and links on this Wiki originally came from this FAQ. The folks there deserve much thanks for "Wikifying" my original ugly ASCII Perl 6 Users FAQ, which was compiled for the inaguration of perl.perl6.users.)
- Most of the information on getting started can be found on this getting started page. You may also find the following links useful:
- Russian language Perl 6 website.
Articles on Perl 6
Some design influences on Perl 6
Hacking the Perl 6 production docs
- Read this first.
- The evil plan. This mentions many things you can do to help out with docs, although it is a bit dated.
- This plan is still current AFAIK: "Perl 6 developers are refactoring relevant introductions, tutorials, specifications into the Perl6::Doc namespace; expect to see this module subsumed by it in the near future.":
Hacking on (versus hacking with) Perl 6
Perl 5 modules implementing Perl 6 features
- In Perl 5.9 (development branch) and Perl 5.10 (production release), feature.pm provides some Perl 6 features that you will be able to selectively turn on.
- There are many modules that currently implement parts of Perl 6 in Perl 5. Go to CPAN and do a module search on perl6.
- (Note: (http://search.cpan.org/modlist/Perl6) is missing many entries. Use the search above for the time being.)
- Some of these are listed on the Perl 6 page.
What are people doing with Perl 6?
- The Perl Foundation Grants (description and links needed—any volunteers?)
- Google Summer of Code (description and links needed—any volunteers?)
Projects, Modules, and Such
- PITA — The Perl Image Testing Architecture (http://ali.as/pita/).
- Darren Duncan's work on a Perl 6 Relation type (as in relational algebra and data structures).
Copyright and License
Helpful hints to use this workspace
- Keep an eye on the "Recent Changes"<../../../perl6/index.cgi?action=recent_changes> page. If you have an RSS reader, click the RSS button and put the feed in your RSS reader.
- If you'd like an introductory tour of the Socialtext Workspace, start here.
- Visit Recent Changes every once in a while to see what's new, and see Socialtext Documentation for tips to use this Workspace.
- Make links by putting words or phrases in square brackets. Click on Edit This Page to see some examples. Note from wiki novice: If you (or someone else) later changes the title of a page you create this way, you'll need to update the original link too. The Wiki's Recent Changes link will show you the new name, if you forget what it was, or otherwise lose track of your renamed page.
What license will content on this wiki be covered under?
contributed by mark@hidden on Sep 2 3:35am
I would suggest making most of these large headings pages of their own, and then have a directory of links on the front. Nobody wants to scroll through everything on the front page.
contributed by Andy Lester on Sep 2 10:29pm
Maybe next weekend (unless someone else does it first). I've pretty much used up my spare time this weekend adding lots of content, sorting it out, and correcting numerious small errors and omissions.
contributed by Conrad Schneiker on Sep 2 11:31pm