Parrot's 2.6 release is coming up this Tuesday, and I've been put in charge of getting the Squaak tutorial up-to-date. Squaak is a tutorial for creating a compiler from a high-level language to Parrot that has unfortunately become rather outdated. You can find it in its current state here and my partially-updated version on github currently.
The reason that makes it so obsolete is that it is a tutorial for creating compilers using PGE (variously referred to as either the Perl or Parrot Grammar Engine), an old implementation of Perl 6's regexes and grammars, and an old version of Not Quite Perl. At the time the tutorial was written, this was the "standard" way to develop HLL compilers for Parrot, but this is no longer the case. Since then, NQP has gained a regex engine of its own(which is why it is now called NQP-rx, where the rx refers to its implementation of Perl 6's regexes), and NQP-rx has become the preferred tool for creating both the parser and the code-generator of HLL compilers. In addition, the specification of Perl 6 regexes has changed over time; PGE's implementation has not continued to keep up with the spec; NQP's regex engine, however, has. In order to make it easier for Parrot's users to create new HLL compilers, I want to update the tutorial to use modern NQP-rx.
I've already mostly finished updating the first four Episodes of the tutorial and part of the the fifth. I welcome anyone at all to help with what remains (and would be very grateful if someone did). If you're not yet involved in the core development of Parrot but want to change that, this is a great chance to get involved, particularly if you're already familiar with NQP or Perl 6. Just respond to this message or contact me on Parrot's IRC channel (#parrot on irc.perl.org) with your github username if you want a commit bit to the github repository.
An important task for a Parrot committer with more knowledge of git-svn than I is to import my changes from the git repo into the SVN repository in a branch. I initially had it in git because I didn't want to modify it in trunk and I didn't want to create a svn branch for something I wasn't sure I was going to actually get around to working on. Now it's still there because I broke my install of the Perl SVN bindings, which means that git-svn doesn't work for me. Although I could certainly just copy the updated files into SVN, it would be much better if someone could use git-svn to import the history of those changes somehow.
My goal is to have the tutorial updated and merged into Parrot's svn trunk before the 2.6 release Tuesday. Please help make this happen.
|
|---|