The Perl 6 Summary of the week ending 20030928 This week, on perl6-internals, stuff was said, code was written, Leo Tötsch was the patchmonster, life got some colour, Amir Karger needs to work harder if he wants to be mentioned in the summary again, Dan Sugalski was our glorious leader.
Meanwhile, on perl6-language, Larry's back (yay!), Austin Hastings' front. If you've enjoyed this summary please send lawyers, guns and money to... Ah heck! Try as I might, I can't get away with that can I? Here's the real thing, starting with perl6-internals "parrot -t" gets fixed Will Coleda had some problems that "parrot -t" didn't seem to solve. This prompted Leo to take a look at the "-t" behaviour, which, whilst not actually *leaking* memory, nevertheless used an awful lot of it. So Leo fixed things up and posted an explanation of what got fixed. It looks to me as if said explanation might come in handy for anyone wanting to know how to play nice with the garbage collector. (The essential rule seems to be "Whatever you do, don't turn off garbage collection, you might have to jump through a few extra hoops when it's on, but trust us, it's worth it.") http://xrl.us/uxk Pondering argument passing The prototyped and unprototyped parameter passing powwow perpetuated itself this week. It was decided/reiterated that all flattening happens in the caller and all binding happens in the callee. Steve Fink and Leo finally managed to get onto the same wavelength. Dan emphasised that passing everything in a PerlArray is the Wrong Thing. Parrot acquired a "setp Ix, Py" op, which does indirect register addressing. Scary thought of the week: mutable default values. http://xrl.us/uxl Trig functions for vtables Dan started collecting a list of trig functions to hang off PMCs. After an initial bit of quibbling about whether trig functions were really necessary, Leo Tötsch pointed out that they would be reached via a secondary vtable, akin to doing "$obj->{vtable}{trig_funcs}{sin}" (but not implemented in Perl.) http://xrl.us/uxm All hands to the pumps! Leo Tötsch has been running the parrot test suite and looking for memory leaks. Things are not looking good. It looks like we'll be seeing a bunch of patches to patch the leaks soon. At least, I hope will will. http://xrl.us/uxn Notes from the Captain Dan has been thinking hard about stuff. In particular, he's been thinking about namespaces and calling/return conventions. He's still undecided about how we're going to handle namespaces. The Calling/return conventions however have been settled (but not written up formally yet). Essentially, calling a subroutine and invoking a return continuation are pretty much indistinguishable, so returning a bunch of values will use the same mechanism as passing in a bunch of parameters. http://xrl.us/uxo http://xrl.us/uxp Parrot::DWIM Leo Tötsch is a scary man. 'Inspired' by Damian Conway's Acme::DWIM module, he's perpetrated Parrot::DWIM. You're better off not knowing. Honest. http://xrl.us/uxq Loading up bytecode segments Now that we have dynamically loaded bytecode segments, Dan specified how they should be auto execed on loading (for running set up code etc). Leo and Dan had a short discussion about whether Dan's spec was the Right Spec, the two proposals were deemed equivalent, so Dan's spec was the one that gets implemented. http://xrl.us/uxr Another trivial language Marcus Thiesen announced that he had ported another language to Parrot: URM -- 'Universal Register Machine' which is a teaching language used in German universities. http://xrl.us/uxs Curses! Dan's wrapped ncurses in parrot using NCI and used that to redo examples/assembly/life.pasm (which was originally written by Dan, but is often misattributed to Leon Brocard) as examples/assembly/ncurses_life.pasm, adding colorized goodness. http://xrl.us/uxt Lightweight Languages 2003 CFP The Lightweight Languages conference LL3 has a Call For Papers out now. Dan posted it to the list. http://xrl.us/uxu Meanwhile, in perl6-language Larry Wall is in the house Larry popped up on the list for the first time in ages, answering questions about macro arguments and autovivification. http://xrl.us/uxv http://xrl.us/uxv Pondering parametrized operators Austin Hastings wondered about making parametrized operators. The example he gave was an infix version of "strncmp". I can't see what's wrong with doing "strncmp $this, $that, cmplen => 4", but Austin proposes a scheme where one could write "Dough" eqn(4) "Douglas" and have it return true. Various other possibilities were discussed. http://xrl.us/uxw Acknowledgements, Announcements, Apologies Sorry it's late. There's nothing new at http://www.bofh.org.uk:8080/. Looks like it's turning into a dead blog. As ever, if you've appreciated this summary, please consider one or more of the following options: * Send money to the Perl Foundation at http://donate.perl-foundation.org/ and help support the ongoing development of Perl. * Get involved in the Perl 6 process. The mailing lists are open to all. http://dev.perl.org/perl6/ and http://www.parrotcode.org/ are good starting points with links to the appropriate mailing lists. * Send feedback, flames, money, requests for consultancy, photographic and writing commissions, or hot meal to [EMAIL PROTECTED]