Ooh look. Stuff's been happening in perl6-internals again. Will wonders never cease?
Bernhard Schmalhofer posted a patch to turn on building libnci.so by default so that the tests in t/pmc/nci.t would get run on more builds by default. Leo Tötsch applied them and sat back to see what broke. He, Nicholas Clark and Andrew Dougherty went on to have a discussion about when dynamic loading may not be available (Did you know that Crays don't do dynamic loading?) or desirable.
Various OSes broke, and appropriate patches were created and applied.
There was some debate on how register saving should be handled when doing multi method dispatch to operators that end up with an implementation in bytecode. I was involved in this discussion and I'm still busy arguing my corner. So, rather than abuse this particular soapbox with a partial (as in 'not impartial') summary, I'm just going to point you at the root message of the thread.
Dan ruled on PMCs that live outside parrot, and on calling into parrot from the outside. Brent Royal-Gordon implemented a 'proof of concept' that got applied pretty quickly. Nicholas Clark wasn't entirely convinced that everything in the garden was lovely, but we're currently in 'suck it and see' mode.
Cygwin had all sorts of problems this week, with ICU, with NCI and (no surprise really) garbage collection. Joshua Gatcomb acted as Leo's eyes and hands during an extended bug hunt which ended with all tests passing and parrot running pleasingly quickly on the cygwin platform.
Leo on chromatic tracked down a bug with accessing nested structs when using the Native Call Interface.
Dan dropped a few notes on how Parrot's asynchronous IO was going to work.
In another of his TODO tasks for the interested, Dan asked for someone to tidy up the parrot link stages so that the various parrot libraries were rather less promiscuous about exporting symbols. The problem's not solved yet, but it's being worked on.
Dan's working on the design Parrot's event and IO system and he had a question about dealing with external events. Discussion ensued. Some of it related to Dan's question.
Dan was about to implement the previously discussed return continuation register, but Leo argued that it should be done gradually and, I think, carried the day.
Leo's rejigged IMCC so that making an NCI call is a little easier.
Nicholas Clark asked after documentation on how to write a PMC. It turns out there isn't any in the distribution, but Mike Scott has some useful stuff on his Wiki. It seems that Real Men use the source. Hopefully this will change eventually (soon?).
Nicholas Clark reported that, now that ponie is using PMCs to handle Perl scalars, Ponie's performance is now 'pants'. It turned out to be a problem with Garbage Collection. The initial fix gave a massive performance increase, but there are still issues to address.
Larry ruled on Luke Palmer's rule return proposal.
Essentially the proposal as it stood was rejected in favour of a possible new
Dov Wasserman chimed in on the subject of required named parameters. Larry was unconvinced by his proposal.
Austin Hastings had some questions about
It appears from Larry's answers that Austin had the wrong end of that particular stick.
Dov Wasserman worries that named parameters and slurpy hash arguments don't get on very well. Others disagreed.
Aaron Sherman pointed to an issue with the
is rw trait and wondered if he was making a fool of himself.
For some reason the responses turned into a discussion of the difference between 'isa' and 'does' relationships.
In response to Aaron's question,
Dan implied that Aaron was expecting rather too much to happen at compile time.
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:email@example.com
http://donate.perl-foundation.org/ -- The Perl Foundation
http://dev.perl.org/perl6/ -- Perl 6 Development site