Abhijit A.
Mahabal posted his first ever patch,
which updated the calling conventions used in the Perl 6 Compiler.
Dan applied it promptly,
and Allison Randal chimed in with some comments on the workings of the perl 6 compiler.
There's a new document,
which you'll find at languages/perl6/doc/developer_notes.pod in a CVS parrot,
which is a scratchpad for developers to make notes of any issues that arise while they're working on the compiler.

The issues that cropped up in the last summary to do with poor ponie performance continued to exercise Leo Tötsch,
Nicholas Clark and Jeff Clites as they homed in on the Ponie bug that had led to ludicrous numbers of PMCs being generated to no good end.
It turns out that Parrot's garbage collection doesn't go that fast when there's 9 million live PMCs.
Leo worked to improve things...

Dan announced that he was trying (slowly) to get things documented and questions asked.
Because questions to the list tend to get Warnocked or asked repeatedly,
he's set up a new central question repository on the Parrot Wiki.
He appealed for a volunteer to watch the list and add new questions to the Wiki page and (a possibly different volunteer) to watch the Wiki and post any answers back to the list.
If such a volunteer should step up to the plate,
I would be inordinately grateful if they could make a habit of commenting to any questions they transplant to the Wiki to let people know that this has been done.

Dan announced that he'd started an FAQ aimed at compiler writers targetting parrot in docs/compiler_faq.pod in your local CVS parrot.
It's a bit sparse,
but the proverb about mighty oaks and acorns applies.
We hope.
Brent Royal-Gordon was first in with a question and answer.

Leo continued his work on switching over to a multi dispatched vtable architecture and asked for comments on the work so far,
and the sanity of the whole concept.
Dan was very positive,
and the work continues.

Cygwin continues to be a fully paid up member of the awkward squad of environments.
Joshua Gatcomb pointed out that JIT had broken again.
He and Leo engaged in debugging by email as Leo worked to fix things.

Abhijit A.
Mahabal had some problems with the Perl 6 compiler's parser and asked for help.
It looks like it's an issue with the load path using relative paths,
which makes it fragile when you're running in an unexpected directory.

The discussion evolved into one on the nature of the (eventual) Perl 6 parser.
Dan worried that a recursive descent parser will be awfully slow compared to the current perl 5 parser.
It looks like Perl 6 won't have a recursive descent parser,
but the conversation got rather beyond my level of computer science (at least where parsers are concerned).
Larry said that he was in favour of a hybrid parser which used both top down and bottom up parsing techniques.

Dan suggested that since Larry has been "itching to get into the internals anyway,
[the parser]'d be a good place to start."

Discussion of Dan's event design sketch continued.
Gordon Henriksen was worried that the events system as sketched wouldn't work well with GUI type events.
Rocco Caputo pointed out issues with Daylight Saving for timed events.
Leo asked for a glossary.

And those are just the items that caught my eye as I went into speed skim mode.

Ron Blaschke has been working on getting Parrot's linker magic right; and he presented his findings and warned us that he intended to go ahead and implement something based on them unless there were substantive objections.
There weren't any objections as such,
but there were an awful lot of issues raised (in case you didn't already know,
cross platform compatibility is Hard).

In response to the discussion of his initial sketch,
Dan said that he thought that 'event' might be the wrong word for what he was working.
'Event' fits the bill in some places,
but not in others.
He asked for suggestions in case someone had a better name.
Tim Bunce suggested 'hap',
which met with some approval.
James Mastros suggested 'page'.
Andy Wardley reckoned 'Parcel' might fit the bill.
I don't think any of the suggestions got massive approval.

It turns out that Dan's work project would be a lot easier if Parrot had logical test ops that simply returned 0 or 1 rather than jumping off somewhere.
He wondered if there was a real case for actually implementing such things.
The general response was favourable so he checked in a new set of isgt,
iseq,
etc ops in experimental.ops.

Pedro Larroy wondered if there was any chance that,
in perl 6 it would be possible to write conditional statements that looked like C type if statements.

if (condition)
statement;

The thread drew quite a lot of traffic, but the answer is that it's not going to happen because it's incompatible with the new Perl 6 way of not requiring parentheses around the condition. For some reason, the thread evolved into the "Perl 6 shouldn't be called Perl!" thread. But set against that, it did elicit the following from Larry:

Indentation is a wonderful form of commentary from programmer to
programmer, but its symbology is largely wasted on the computer. We
don't tell poets how to format their poetry.

It was Pedro Larroy's turn to ask if it'd be a good idea to make == and friends polymorphic in order to get rid of eq etc. It was chromatic's turn to say that no, it's not a good idea, and haven't we done this one countless times before? It was your summarizer's turn to have had a foul couple of days before he finally knuckled down to writing the summary.

Stéphane Payrard wondered Perl 6 might have a neater way of populating a counting hash than

$a{$_}++ for @a;

He proposed some alternatives which (to my biased eyes at least) looked rather more opaque than the straightforward Perl 5 idiom. John Williams suggested that %a{@a}»++ might fit the bill, but it seems that ++«%a{@a} is more likely to be the right thing.

I think this may be one of those Shibboleth things. If you like Perl 6, then ++«%a{@a} is the kind of thing that could well make you like it more. If you don't like Perl 6, it's the kind of thing that makes you double the length of the pole with which you will not touch the language.

Many apologies for the staggering lateness of this week's summary (at least a week late). Hopefully I'll be back on track next week.

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:pdcawley@bofh.org.uk