This Week on Perl 6, Week Ending 2004-05-09

Ooh look. Stuff’s been happening in perl6-internals again. Will wonders never cease?

Building NCI by default

Bernhard Schmalhofer posted a patch to turn on building 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.

MMD and bytecode implementations

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.

Embedding and the stack

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.

The ongoing saga of cygwin

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.$

NCI Nested struct access broken

Leo on chromatic tracked down a bug with accessing nested structs when using the Native Call Interface.

Async IO notes

Dan dropped a few notes on how Parrot’s asynchronous IO was going to work.

The linker TODO

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.

Towards a final events design

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.

Return Continuations

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.

NCI sub call syntax in PIR

Leo’s rejigged IMCC so that making an NCI call is a little easier.

Documentation on writing PMCs

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?).

Ponie’s performing pants

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.

Meanwhile, in perl6-language

Returning from rules

Larry ruled on Luke Palmer’s rule return proposal. Essentially the proposal as it stood was rejected in favour of a possible new succeed keyword/macro.

Required named parameters never go away do they?

Dov Wasserman chimed in on the subject of required named parameters. Larry was unconvinced by his proposal.

Specifying class interfaces with AUTOMETH

Austin Hastings had some questions about AUTOMETH and AUTOMETHDEF. It appears from Larry’s answers that Austin had the wrong end of that particular stick.

Named parameters vs. slurpy hash syntax

Dov Wasserman worries that named parameters and slurpy hash arguments don’t get on very well. Others disagreed.

is rw trait’s effect on signature

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.

Apologies, Announcements, Acknowledgements

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 – The Perl Foundation – Perl 6 Development site



Something wrong with this article? Help us out by opening an issue or pull request on GitHub