This week on Perl 6, week ending 2004-02-22

Loading bytecode at runtime

Last week Dan had specced out the rules for runtime loading of bytecode. This week, Leo Tötsch started implementing it. There was a certain amount of quibbling about syntax, but that was quickly sorted out.


Dan continued his work on objects and on sorting out method resolution niggles. Getting ahead of myself slightly, he finished it this week.

Obfuscated Parrot

I reproduce this product of Leo Tötsch’s warped brane without comment:

     bounds 1
     trace 0
     split P0, '', "\nrekcaH torraP rehtona tsuJ"
     add I1, 3
     add I2, 4
     branch I2
     pack S23, 793, I1, I0
     branch I2
     add I2, 382, I1
     branch I2
     new S23, 911, I0, I0
     branch I1
     transcode S23, S0, -19

And, to compound things:

    bounds 1
    trace 0
    newclass P0, "Just another Parrot Hacker\n"
    shift S0, P5
    does I0, P0, S0
    add I0, 4
    bsr I0
    pack S0, 381, I0, I0

Look, OO badness

IO fixes for Win32

I must confess I didn’t understand the details of the discussion, but Goplat, Vladimir Lipsky and Melvin Smith spent some time working on IO issues under Win32.

Parrot Dumper updated

Jens Rieks continued his sterling work on a Parrot Data::Dumper equivalent, posting a new version that does bounds checking and PMC property dumping. A later refinement added support for self referential data structures and other edge cases.


TOGoS announced a new language targetting Parrot.

Symbol naming and IMCC2

Dan ruled on the symbol naming issue discussion. Essentially, if your symbol includes a sigil, you’re not going to be able to use it directly. Learn to love symbol tables and .alias.

TODO: parrotbug

Dan asked for someone to implement a parrotbug script to handle building and possibly sending the bug reports into RT. The script should work in a similar way to perlbug, appending configuration information etc to any bug report.

TODO: Forth as a compiler

Dan asked for a volunteer to fix forth.pasm so that it can be loaded in as a compiler module, allowing one to do:

    compile P5, ForthCompiler, "1 2 + ."

and have it print out 3.

Documentation tasks

Taking time out to heap praise on the deserving Michael Scott, Dan outlined a few documentation jobs that need to be done (hopefully) before the next Parrot release.

SDL goodness

The work on SDL support continued apace, with chromatic checking in several SDL related fixes and enhancements.

Parrot Day at the Austrian Perl Workshop

Thomas Klausner announced that this year’s Austrian Perl Workshop would have a Parrot Day, with a tutorial from Leo Tötsch and hopefully some other good stuff from Parrot luminaries. Thomas also asked for people to submit talk ideas.

SDL + Parrot = Tetris

Jens Rieks announced the alpha of an implementation of tetris in Parrot using SDL for the display. Yay Jens! Mmm… a time sink… just what the Parrot developers need.

The First International Workshop on Interpreted Languages

Dan pointed us all at the First International Workshop on Interpreted Languages’ Call for Papers.

Meanwhile, in perl6-languages


I know I’ve had this feeling of déjà vu before, but I’ve spelt it right this time. Discussion of Roles continued this week. If I never read another discussion of the difference between Dog::bark and Tree::bark again, it’ll be too soon.

The Sort Problem

The other topic of discussion this week covered sorting. It looks as though Perl 6’s sort function is going to be rather more powerful than the Perl 5 equivalent; hopefully this means Perl 6 will finally see the back of code like:

    map  { $_->[0] }
    sort { $a->[1] <=> $a->[1] }
    map  { [$_, extract_key_from($_) } @array

Damian’s post on the subject, referenced below, looks like the front runner. It’s worth reading if you’re interested in sort itself or if you’re interested in how Perl 6’s multi dispatch will work.

Allison Randal is the new Project Manager

Nat Torkington announced that he’s managed to pass the Perl 6 Project Manager hat on to Allison Randal’s increasingly be-hatted head. Congratulations and commiserations to Nat and Allison. I’ll leave it up to you to decide who gets which.

Announcements, Apologies, Acknowledgements

Um… I’m late. Sorry.

If you find these summaries useful or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl. You might also like to send me feedback at, or drop by my website. – The Perl Foundation – Perl 6 Development site – My website, “Just a Summary”



Something wrong with this article? Help us out by opening an issue or pull request on GitHub