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]