- Overview
- Thank you to my sponsors
- Perl
- Perl
- Perl 6
- Perl 6 definition
- Changes from Perl 5 (some)
- Changes from Perl 5 (cont'd)
- Some Perl 6 highlights
- More consistent syntax
- Consistent data type prefixes
- Built-in data types (partial list)
- Chained operators
- Chained operators, cont'd
- Junctions
- Hyperoperators (vector processing)
- Reduction operators (pairwise infix)
- Operator overloading
- Subroutine formal parameters
- Subroutine formal parameters (cont'd)
- Smart matching
- Given / when ('switch' statements)
- Given / when ('switch' statements)
- Given / when ('switch' statements)
- Regular Expressions
- Named regular expressions
- Tokens and rules
- Grammars
- Other features of note
- Perl 6 Implementations
- Perl 6 Implementations
- Current implementation efforts (Feb 2008)
- Parrot
- Parrot languages (various stages)
- Key Parrot Goals
- Parrot Compiler Toolkit
- Compiler creation in Parrot
- Parsing
- Parsing example
- Parsing example
- Examples from abc
- Parsing
- Transforming parse tree to AST
- PAST representation of 'if'
- The parts of the action method
- HLLCompiler class
- Effectiveness of Parrot Compiler toolkit
- Effectiveness of Parrot Compiler toolkit
- Bottom-up, operator precedence compilation
- Defining a bottom-up parser
- Rakudo Perl (Perl 6 on Parrot)
- Rakudo Perl (Perl 6 on Parrot)
- Things that mostly work in Rakudo Perl (Feb 2008)
- Things that mostly work in Rakudo Perl (Feb 2008)
- Things that Rakudo currently "fakes just a bit"
- Obtaining and building Parrot and Rakudo Perl
- Why has Perl 6 taken so long to develop?
- Increasing development momentum
- Ways to learn more, join efforts
- Conclusions
- Current Parrot compiler sizes