The Synopsis documents are to be taken as the formal specification for Perl 6 implementations, while still being reference documentation for Perl 6, like Programming Perl is for Perl 5. Note that while these documents are considered ``formal specifications'', they are still being subjected to the rigours of cross-examination through implementation. In other words, they may change slightly or radically. But the expectation is that they are ``very close'' to the final shape of Perl 6.
However, this HTML version of Synopses is slightly different in that it contains code snippets from the Pugs test suite. In other words, We have divided the .t files in the Pugs test suite into pieces and inserted every resulting snippet after the corresponding paragraph of the Synopses. The job was done by the Perl 5 script util/smartlinks.pl living in the Pugs source tree. And all the web pages listed below are updated every one hour with the latest Synopses and Pugs test suite from their respective SVN repositories.
When we say ``S05'', we mean ``spec'' as well as ``synopsis''.
While the Apocalypses and Exegeses are linked here for reference, note that the Synopses are kept very much more up-to-date and are the primary recommended reference.
(Specification) | (Justification) | (Explanation) | ||
---|---|---|---|---|
1 | Overview | Synopsis | Apocalypse | |
2 | Bits and Pieces | Synopsis | Apocalypse | Exegesis |
3 | Summary of Perl 6 Operators | Synopsis | Apocalypse | Exegesis |
4 | Blocks and Statements | Synopsis | Apocalypse | Exegesis |
5 | Regexes and Rules | Synopsis | Apocalypse | Exegesis |
6 | Subroutines | Synopsis | Apocalypse | Exegesis |
7 | Formats | Apocalypse | Exegesis | |
9 | Data Structures | Synopsis | ||
10 | Packages | Synopsis | ||
11 | Modules | Synopsis | ||
12 | Objects | Synopsis | Apocalypse | |
13 | Overloading | Synopsis | ||
16 | IPC / IO / Signals [DRAFT] | Synopsis | ||
26 | Documentation [DRAFT] | Synopsis (link may not be active yet) | ||
29 | Builtin Functions | Synopsis |
The few draft PODs here should probably be cleaned up into Spec-like formats and moved to Perl6::Spec space.
The Differences document is stored in docs/Perl6/Perl5/Differences.pod
in the pugs repository, if you'd like to make updates to it. Your changes will
automatically appear on feather in less than 1 hour.
Many more examples of Perl6 code are available.
The page you're currently looking at lives in the Pugs repo as
docs/feather/syn_index.html
, and is resync'd every few minutes.