Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

pmichaud (6013)

  (email not shown publicly)

Patrick Michaud is the pumpking for the Rakudo Perl 6 compiler. He holds a Ph.D. in Computer Science and was formerly a Professor of Computer Science at Texas A&M University-Corpus Christi. He is currently a software developer and consultant focused on open source development and applications, including Perl, PmWiki, and Linux.

Journal of pmichaud (6013)

Wednesday November 28, 2007
07:56 AM

More Parrot hacking

[ #34993 ]

Another fruitful day of hacking.

The big change for the day is that explanatory comments were added to abc's src/ file; hopefully this will help people understand how it all works and fits together. I also added a couple of notes to the grammar ( src/ ), but we obviously need to explain that one a bit better as well.

In fact, now that the compiler tools are nearing completion it's a great time to write a "compiler tutorial" that describes the process of building a compiler for Parrot (using abc as the canonical example, of course). But I think that will have to wait a week or so, as there's other code (perl6!) that needs developing.

More improvements to the compiler toolkit today; completed the implementation of 'while', 'repeat_while' and 'try' nodes in PAST, and a couple of minor optimizations and improvements were made to the code generation. Tonight I spent a couple of hours playing with some possible optimizations for better variable handling in the generated code. The basics of what I tried worked nicely, but overall it's a very tricky problem in a dynamic system like Parrot, where some other subroutine or opcode can re-bind your symbols when you're not looking. So, we'll leave this for a later optimization or something that someone else can attempt. At this stage, working stable code definitely trumps fast and possibly unstable code.

NQP also got while/until/repeat_while/repeat_until statements added, in order to provide tests for PCT. NQP doesn't have 'try' blocks yet... we may just save that for perl6 to test. I also figured out how to finish out an implementation of class declarations in NQP, so that will be exciting.

Today on irc:#parrot Coke and others spent some very useful effort cleaning up outdated stuff in the Parrot repository and closing out obsolete RT tickets. As for me, I think that I opened as many new tickets as I closed today. :-|

This is a good place to mention that the Parrot developers hold weekly "status report" meetings on every Tuesday at 18:30 UTC. The meetings are archived at

Andy Lester posted a nice article on PerlBuzz about the ROADMAP that was published for perl6 -- thanks Andy!

Now to see how well these shiny new tools perform in building a real compiler, like, say, perl6. :-)


The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.