Skip to content

Instantly share code, notes, and snippets.

@moritz
Created April 9, 2012 20:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save moritz/2346494 to your computer and use it in GitHub Desktop.
Save moritz/2346494 to your computer and use it in GitHub Desktop.
Perl 6 synopsis stability
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