- Overview
- Thank you to my sponsors
- Perl
- Perl 6
- Perl 6 design goals
- Changes from Perl 5
- Changes from Perl 5 (cont'd)
- Perl 6 Implementations
- Current implementation efforts (Apr 2008)
- Rakudo Perl
- Parrot
- Parrot languages (various stages)
- Key Parrot Goals
- Obtaining and building Parrot and Rakudo Perl
- Things that mostly work in Rakudo Perl (Apr 2008)
- Things that mostly work in Rakudo Perl (Apr 2008)
- Things that Rakudo currently "fakes just a bit"
- Common things that don't work yet (Apr 2008)
- Rakudo Perl road map
- The Perl 6 "official" test suite
- Rakudo compiler architecture
- Perl 6 on Parrot
- Parrot Compiler Toolkit
- Parrot compiler shell
- Parse grammars in PGE
- Parse grammars in PGE
- calc example - grammar
- calc example -- test parsing
- HLLCompiler class
- Parrot Abstract Syntax Tree (PAST)
- Converting parse tree to PAST
- Example: if_stmt
- Example: if_stmt (cont'd)
- Example: if_stmt (cont'd)
- Example: if_stmt (cont'd)
- Example: if_stmt (cont'd)
- calc example -- adding actions
- calc example -- adding actions
- calc example -- src/parser/actions.pm
- calc example -- PAST output
- calc example -- as PIR!
- calc example -- as executable!
- Effectiveness of Parrot Compiler Toolkit
- Rakudo sources
- Rakudo parse grammar
- Rakudo action methods
- Rakudo runtime libraries
- Why has Perl 6 taken so long to develop and implement?
- Increasing development momentum
- Next steps
- Ways to learn more, join efforts
- exit 0;