This week on Perl 6, week ending 2003-07-13

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.

http://groups.google.com/groups

Timely destruction and TRACE_SYSTEM_AREAS

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.

http://groups.google.com/groups

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.

http://groups.google.com/groups

Perl* Abstraction

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.

http://groups.google.com/groups

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.

http://groups.google.com/groups

http://groups.google.com/groups

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.

http://groups.google.com/groups

I want a Ponie!

The ponie-dev@perl.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://groups.google.com/groups

http://www.poniecode.org/ — More on Ponie

http://ponie.kwiki.org/ — Ingy’s Ponie Wiki

http://use.perl.org/article.pl — use.perl announcement

Exceptions!

Leo Tötsch checked in the beginnings of an exceptions system. Then he checked in the beginnings of an events system.

http://groups.google.com/groups

http://groups.google.com/groups

Meanwhile, in perl6-language

There were all of 6 messages, all of them discussing the effects of aliasing an array slice.

http://groups.google.com/groups

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:

Tags

Feedback

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