The Perl 6 Summary for the week ending 20040222 Welcome to the latest belated Perl 6 Summary. I'm running late, so we'll just dive straight into perl6-internals
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. http://tinyurl.com/27kp6 Objects Dan continued his work on objects and on sorting out method resolution niggles. Getting ahead of myself slightly, he finished it this week. http://tinyurl.com/33ql7 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 end 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 invoke ret Look, OO badness http://tinyurl.com/2xbye http://tinyurl.com/2eufv 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. http://tinyurl.com/3b3bw 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. http://tinyurl.com/ytmmz ConfigScript3 TOGoS announced a new language targetting Parrot. http://tinyurl.com/2pszj http://tinyurl.com/2b942 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". http://tinyurl.com/37fx3 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. http://tinyurl.com/3x59b 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. http://tinyurl.com/2zzrr 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. http://tinyurl.com/3eons SDL goodness The work on SDL support continued apace, with chromatic checking in several SDL related fixes and enhancements. http://tinyurl.com/yrsgk http://tinyurl.com/2oycl 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. http://tinyurl.com/29ev4 http://tinyurl.com/2257c 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. http://tinyurl.com/2vb3d The First International Workshop on Interpreted Languages Dan pointed us all at the First International Workshop on Interpreted Languages' Call for Papers. http://tinyurl.com/2golt http://tinyurl.com/3cuhu Meanwhile, in perl6-languages Traits/Roles 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. http://tinyurl.com/yvgsg 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. http://tinyurl.com/2rmoh 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 mailto:[EMAIL PROTECTED], or drop by my website. http://donate.perl-foundation.org/ -- The Perl Foundation http://dev.perl.org/perl6/ -- Perl 6 Development site http://www.bofh.org.uk/ -- My website, "Just a Summary"