To see what is currently happening visit http://www.perl6.org/
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 fixedWill 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.")
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.
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.)
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.
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.
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.
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.
Marcus Thiesen announced that he had ported another language to Parrot: URM -- 'Universal Register Machine' which is a teaching language used in German universities.
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.
The Lightweight Languages conference LL3 has a Call For Papers out now. Dan posted it to the list.
Larry popped up on the list for the first time in ages, answering questions about macro arguments and autovivification.
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.
Sorry it's late.
There's nothing new at www.bofh.org.uk 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: