Welcome once again to the Perl 6 Summary, in a week of major developments and tantalizing hints. We start, as usual, with what's happening in perl6-internals:
Targeting Parrot from GCC
Discussion in the thread entitled 'WxWindows Support / Interfacing Libraries' centred on writing a Parrot backend to GCC. (No, I have no idea what that has to do with the thread subject.) Tupshin Harper, Leo Tötsch and Benjamin Goldberg discussed possibilities and potential pit- and pratfalls. At one point, Tupshin suggested emulating a "more traditional stack-oriented processor". I don't think he was joking.
Timely destruction and
Jürgen Bömmels' Parrot IO rewrite is causing some problems with garbage collection. (IO handles are the canonical examples of resources that need timely destruction).
Leo tracked down the source of resource leak to a problem with handles being found on the C stack. Jürgen wasn't happy about this (he's not keen on the stack walking approach to garbage collection). He proposed that we get rid of the stack walk in favour of some other solution to the infant mortality problem and offered a few candidates. Leo said that he didn't like walking the C stack, going so far as to state that "Timely destruction and solving infant mortality don't play together or are mutually exclusive - in the current approach." Dan hasn't commented on this yet.
Parrot is not feature frozen
There was a certain amount of confusion as some old email with the subject "Parrot is feature-frozen until Wednesday" made its way into a small number of inboxes, sowing confusion as it went. Suffice to say that Parrot is not currently feature frozen, though Steve Fink did say that he was considering a point release once the imcc/parrot integration was complete. If Dan gets objects and exceptions finished, then it might even warrant a 0.1.0 version number rather than 0.0.11.
Luke Palmer has "finally" started to implement his Infinity PMC and has
noticed a lot of redundant code in the
Perl* classes. He also
noticed that Parrot doesn't seem to have the distinction between container and
value that has been confusing people on the language list.
Fun with ParrotIO
First, Jürgen Bömmels sent in a patch to excise integer file descriptors from Parrot except when they are managed via ParrotIO PMCs. Leo applied this.
Clinton Pierce thought that this patch meant that a Win32 bug could be closed in the Parrot bug database. This sparked a discussion with Leo, and Jürgen, but I'm not entirely sure of the status of the bug.
Jako groks basic PMCs
Gregor N Purdy seems to have started working on Jako again, and checked in some changes allowing Jako to manipulate PMCs. People agreed that this was cool.
I want a Ponie!
The firstname.lastname@example.org mailing list was announced and I'll be summarizing it as of next week when I've joined, caught up, and generally recovered from America.
What's Ponie? Ponie is "Perl On New Internal Engine" or, as Thomas Klausner put it, "A version of Perl 5 that will run on Parrot". Larry announced Ponie at his OSCON 'State of the Onion' address.
Discussion of Ponie on the perl6-internals list centered on the "What is ponie?" question, with a certain amount of "Why ponie-dev, not perl6-ponie?" thrown in for good measure.
Brian Ingerson announced that he'd set up a Ponie Wiki. Leon Brocard pointed at the use.perl story announcing Ponie. Your summarizer punted on writing a description of the project himself.
http://www.poniecode.org/ — More on Ponie
http://ponie.kwiki.org/ — Ingy's Ponie Wiki
http://use.perl.org/article.pl — use.perl announcement
Leo Tötsch checked in the beginnings of an exceptions system. Then he checked in the beginnings of an events system.
Meanwhile, in perl6-language
There were all of 6 messages, all of them discussing the effects of aliasing an array slice.
Perl 6 Rules at OSCON
No, wait, that should be Perl6::Rules.
For his last talk at OSCON, Damian spoke about Perl6::Rules, his implementation of Perl 6's rules system in pure Perl 5. Oh boy, was it tantalizing. He demonstrated working code that supports a large chunk of Perl 6 matching semantics, complete with handy debugging information, diagnostic dumping and all the other useful stuff.
When we were all gagging for him to release it to CPAN immediately, he told us that it wasn't finished yet; that he'd implemented it all during the week of OSCON, in 700 lines of code; that he was going on holiday for a month once he got home; and that the module would be completed and released to CPAN as time and money allowed and would be out by Christmas.
He didn't say which Christmas.
Trust me, we want this. A lot.
Acknowledgements, Announcements, and Apologies
Hmm... this summary is later than last week's. How did that happen?
Thanks to Darren Stalder and Cindy Fry, our kind hosts in Seattle; to Shiro san for some fantastic sushi on Sunday night; to Jesse Broksmith and Melissa Cain for being our Seattle native guides; to Ward Cunningham for a lift in his Jeep and for just being Ward; and to Casey West for reasons I promised not to go into in the summary.
For months now, I've been half joking about sending me jobs in the last little bit of this summary, but I really mean it now. If anyone's looking for an experienced OO Perl programmer and half experienced writer, I'm hunting work. Please get in touch at the address below.
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, photographic and writing commissions, or a cute little iSight to email@example.com.