Created
April 9, 2012 20:56
-
-
Save moritz/2346494 to your computer and use it in GitHub Desktop.
Perl 6 synopsis stability
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1: Gas: we have some ideas what features we want, and maybe how we not want to have them | |
2: Liquid: we have a pretty good idea how the features should look like, but | |
they haven't been implemented, or only by a single compiler. Or two | |
implementations are available, but there are open questions or problems. | |
3: Slushy: at least one implementation available, and a certain degree of stability | |
4: Solid: at least two implementations available, been in heavy use, no major | |
changes expected | |
+ ---- stability rating | |
| ++-- synopsis | |
| || + level of heading | |
4 01:1 Project Plan | |
2 01:1 Random Thoughts | |
4 02:1 One-pass parsing | |
02:1 Lexical Conventions | |
2 02:2 Unicode Semantics | |
02:2 Bracketing Characters | |
3 02:2 Multiline Comments | |
4 02:2 Single-line Comments | |
3 02:2 Embedded Comments | |
3 02:2 User-selected Brackets | |
3 02:2 Unspaces | |
2 02:2 Comments in Unspaces and vice versa | |
2 02:2 Optional Whitespace and Exclusions | |
4 02:3 Implicit Topical Method Calls | |
02:1 Built-In Data Types | |
4 02:2 The P6opaque Datatype | |
3 02:2 Name Equivalence of Types | |
02:2 Properties on Objects | |
02:3 Traits | |
4 02:2 Types as Constraints | |
2 02:2 Container Types | |
3 02:2 Type Objects | |
2 02:2 Coercive type declarations | |
2 02:2 Containers of Native Types | |
2 02:2 Methods on Arrays | |
4 02:2 Built-in Type Conventions | |
3 02:3 The C<.WHICH> Method for Value Types | |
3 02:3 The C<ObjAt> Type | |
3 02:2 Variables Containing Undefined Values | |
4 02:2 The C<HOW> Method | |
3 02:2 Roles | |
2 02:2 The C<Num> and C<Rat> Types | |
3 02:2 Infinity and C<NaN> | |
2 02:2 Strings, the C<Str> Type | |
02:3 The C<StrPos> Type | |
02:3 The C<StrLen> Type | |
02:3 Units of Position Arguments | |
02:3 Numeric Coercion of C<StrPos> or C<StrLen> | |
2 02:2 The C<Buf> Type | |
02:3 Native C<buf> Types | |
2 02:2 The C<utf8> Type | |
3 02:2 The C<Whatever> Object | |
3 02:3 Autopriming of Unary and Binary Operators with Whatever | |
3 02:3 The C<WhateverCode> Types | |
2 02:3 Operators with idiosyncratic Whatever | |
2 02:3 Non-closure-returning Operators with C<*> | |
2 02:3 The C<HyperWhatever> Type | |
2 02:2 Native types | |
4 02:2 The C<Mu> type | |
2 02:2 Undefined types | |
2 02:2 Immutable types | |
2 02:2 Mutable types | |
2 02:2 Of types | |
2 02:2 Container types | |
2 02:2 Hierarchical types | |
1 02:2 Polymorphic types | |
3 02:2 Parameter types | |
3 02:2 Generic types | |
3 02:1 The Cool class (and package) | |
02:1 Names and Variables | |
4 02:2 Apostrophe separator | |
4 02:2 Sigils | |
3 02:3 Sigils indicate interface | |
4 02:3 No intervening whitespace | |
4 02:2 Twigils | |
3 02:2 Scope declarators | |
4 02:2 Invariant sigils | |
4 02:2 List stringification | |
2 02:2 The C<.perl> method | |
2 02:2 The C<.pretty> method | |
3 02:2 The C<.fmt> method | |
4 02:2 Subscripts | |
4 02:3 Subscripts have list context | |
3 02:2 List assignment and binding | |
3 02:2 Parcels | |
2 02:2 Parcels, parameters, and Captures | |
1 02:2 CaptureCursors | |
3 02:2 Signature objects | |
4 02:2 Ampersand and invocation | |
2 02:2 Specifying a dispatch candidate | |
2 02:2 Multidimensional slices and parcels | |
2 02:2 Subscript adverbs | |
4 02:2 Numeric and boolean context of hashes | |
3 02:2 List sorting | |
3 02:2 Special variables | |
3 02:2 Array end index | |
3 02:1 Names | |
3 02:2 Package-qualified names | |
3 02:2 Pseudo-packages | |
3 02:2 Interpolating into names | |
3 02:2 Strict lookup | |
3 02:2 Direct lookup | |
2 02:2 Symbol tables | |
2 02:2 Dynamic lookup | |
2 02:2 C<DYNAMIC> | |
2 02:2 Package lookup | |
3 02:2 Globals | |
3 02:2 The C<PROCESS> package | |
2 02:2 Dynamic variable creation | |
4 02:2 The magic input handle | |
2 02:2 Magical access to documentation | |
2 02:2 Magical lexically scoped values | |
2 02:2 The C<COMPILING> pseudopackage | |
1 02:2 Switching parsers | |
1 02:2 Slangs | |
3 02:2 Extended identifiers | |
2 02:1 Literals | |
4 02:2 Underscores | |
4 02:2 Radix markers | |
3 02:2 General radices | |
3 02:2 Exponentials | |
3 02:2 Conversion functions | |
2 02:2 Rational literals | |
2 02:2 Complex literals | |
1 02:2 C<Blob> literals | |
4 02:2 Radix interpolation | |
2 02:2 Angle quotes (quote words) | |
2 02:3 Explicit Parcel construction | |
3 02:3 Disallowed forms | |
2 02:3 Relationship between <> and «» | |
2 02:2 Adverbial Pair forms | |
2 02:2 C<Q> forms | |
2 02:2 Adverbs on quotes | |
2 02:2 The C<:val> modifier | |
2 02:2 Whitespace before adverbs | |
2 02:2 Delimiters of quoting forms | |
1 02:2 Quotes from Macros | |
1 02:2 Interpolating into a single-quoted string | |
3 02:2 Interpolation rules | |
3 02:3 Arrays | |
3 02:3 Hashes | |
3 02:3 Sub calls | |
3 02:3 Method calls | |
3 02:3 Multiple dereferencers | |
2 02:3 Closures | |
3 02:3 Twigils | |
3 02:3 Other expressions | |
3 02:3 Class methods | |
3 02:3 Old disambiguation | |
3 02:3 Topical methods | |
3 02:3 Function calls | |
4 02:3 Backslash sequences | |
4 02:3 Other functions | |
3 02:3 Unicode codepoints | |
4 02:3 Backslashing | |
2 02:2 Bare identifiers | |
3 02:2 Dereferences | |
4 02:2 Hash subscripts and bare keys | |
2 02:2 Double-underscore forms | |
2 02:2 Heredocs | |
2 02:3 Optional whitespace | |
2 02:3 One-pass heredoc parsing | |
2 02:2 Version literals | |
2 02:2 Allomorphic value semantics | |
2 02:3 Allomorphic Rats | |
4 02:1 Context | |
3 02:1 Lists | |
2 02:2 Lazy flattening | |
2 02:2 C<list>, C<flat>, C<item>, and C<.tree> | |
2 02:2 Forcing capture context | |
2 02:2 The C<eager> operator | |
1 02:2 The C<hyper> operator | |
1 02:2 The C<race> operator | |
02:2 Signature checking | |
4 02:2 The C<< => >> operator | |
4 02:2 The C<< .. >> operator | |
4 02:2 Hash assignment | |
3 02:2 The anonymous C<enum> function | |
3 02:2 Hash binding | |
3 02:1 Files | |
2 02:1 Properties | |
4 02:1 Grammatical Categories | |
03:1 Overview | |
3 03:1 Operator precedence | |
3 03:2 Term precedence | |
3 03:2 Method postfix precedence | |
3 03:2 Autoincrement precedence | |
4 03:2 Exponentiation precedence | |
3 03:2 Symbolic unary precedence | |
3 03:2 Multiplicative precedence | |
2 03:2 Additive precedence | |
3 03:2 Replication | |
4 03:2 Concatenation | |
2 03:2 Junctive and (all) precedence | |
2 03:2 Junctive or (any) precedence | |
1 03:2 Named unary precedence | |
3 03:2 Nonchaining binary precedence | |
2 03:2 Chaining binary precedence | |
4 03:2 Tight and precedence | |
3 03:2 Tight or precedence | |
2 03:2 Conditional operator precedence | |
2 03:1 Adverbs | |
3 03:2 Item assignment precedence | |
3 03:2 Loose unary precedence | |
3 03:2 Comma operator precedence | |
2 03:2 List infix precedence | |
2 03:2 List prefix precedence | |
2 03:2 Loose and precedence | |
2 03:2 Loose or precedence | |
3 03:2 Terminator precedence | |
2 03:1 Changes to Perl 5 operators | |
3 03:1 Junctive operators | |
2 03:1 Comparison semantics | |
4 03:1 Range and RangeIter semantics | |
4 03:2 Unary ranges | |
1 03:2 Auto-priming of ranges | |
4 03:1 Chained comparisons | |
2 03:1 Smart matching | |
2 03:1 Invocant marker | |
1 03:1 Feed operators | |
3 03:1 Meta operators | |
3 03:2 Assignment operators | |
3 03:2 Negated relational operators | |
3 03:2 Reversed operators | |
2 03:2 Hyper operators | |
4 03:2 Reduction operators | |
3 03:2 Cross operators | |
3 03:2 Zip operators | |
2 03:2 Sequential operators | |
3 03:2 Nesting of metaoperators | |
3 03:1 Declarators | |
3 03:1 Argument List Interpolating | |
3 03:1 Traversing arrays in parallel | |
4 03:1 Minimal whitespace DWIMmery | |
2 03:1 Sequence points |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment