Welcome to the last Perl 6 Summary of my first year of summarizing. If I were a better writer (or if I weren't listening with half an ear to Damian telling YAPC about Perl 6 in case anything's changed), then this summary might well be a summary of the last year in Perl 6. But I'm not, so it won't. Instead, I'm going to try and keep it short (summaries generally take me about eight hours on an average day, and I really don't want to lose eight hours of YAPC, thank you very much).
It's getting predictable I know, but we'll start with the internals list -- again.
Dan continued slouching toward full OO and outlined the issues involved with setting up classes and asked for opinions. People offered them.
Clinton Pierce wanted to know how to go about writing language level debuggers in Parrot. (This man is unstoppable, I tell you.) He offered some example code to show what he was trying to do. Benjamin Goldberg had a style suggestion for the code, but nobody had much to say about Clint's particular issue.
Much of this week's effort was involved in getting support for the continuation-passing style function calling into Parrot. Jonathan Sillito posted a patch. This led to a certain amount of confusion about what needs to be stashed in the continuation and a certain amount of bemusement about the implications of caller saves rather than callee saves (in a nutshell, a calling context only has to save those registers that it cares about; it doesn't have to worry about saving any other registers, because its callers will already have saved them if they cared.)
Dan ended up rewriting the calling conventions PDD to take into account some of the confusion.
I think the upshot of this is that the Parrot core now has everything we need to support the documented continuation-passing calling conventions. But I could be wrong.
Clint Pierce's BASIC implementation efforts continue to be one of the
most-effective bug hunting (in code and/or docs) efforts the Parrot
team has. This time, Clint managed to segfault IMCC by trying to
.subs using the wrong sorts of names. Leo
Tötsch explained how to fix the problem. It seems that fixing
IMCC to stop it from segfaulting on this issue is hard, since the segfault
happens at runtime.
Clint's BASIC can now place chess! Not very well, but we're in 'dogs dancing' territory here. Bravo Clint! There was applause.
Last week, Ziggy worried about multimethod dispatch not being good enough. This week at YAPC, Damian announced DISPATCH, a scary magic subroutine that allows you to define your own dispatch rules. Essentially, it gets called before the built-in dispatch rules do; beyond that, I know nothing.
Sorry, no link for this.
Last week, I mentioned that Adam Turoff had worried a little about multimethod dispatch, and wanted to know whether it would be possible to easily override the dispatch system. This week, he outlines the types of things he might want to do.
See above for the resolution. Details don't exist just yet, but we'll get there.
Michael Lazzaro posted the latest version of his Type Conversion Matrix and asked for comments and, hopefully, definitive answers. There was a small about of discussion ...
Whilst idly 'longing for the cleansing joy [of] Perl,' Dave Storrs
wondered how/whether he could write a method that would return from
its caller. Answer: yes, use
Edward Steiner wondered about having some way to printf, like formatting of numbers in interpolated strings. Luke Palmer (who just told me he's embarrassed about something I wrote about something he said last week, but I'd forgotten it) came up with a cool-looking suggestion in response.
Well, that wraps up my first year of summary writing. Thanks to everyone for reading, it's been fun.
I have one announcement to make: As of next week, there will be no obligatory reference to Leon Brocard -- I'm getting bored of it, you all must have been bored with it for months ... .
If you've appreciated this summary, then 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.
/usr/bin/pod2html: p6s.pod: cannot resolve L<email@example.com> in paragraph 50. Send feedback, flames, money, photographic and writing commissions, or a nice long US power cable to plug into my Mac power-brick to