This week on Perl 6, week ending 2003-09-21

Deadlines, I love the sound they make as they fly past.

Those of you who receive this summary via mail may have noticed that this summary is a little late, with any luck it will make up for its tardiness by being inaccurate and badly written as well.

I’m going to reinstitute the tradition of starting with the internals list this week, so without further ado:

Pondering argument passing

Steve Fink pondered passing parameters properly, with a prototyped Perl 6 example. Perl 5 certainly, and Perl 6 possibly, allow you to ignore any function prototype by calling the function like &f(1,2). Steve had concerns about what to do in the presence of ‘splatted’ argument lists. (Consider

    sub foo(@a, $b) {...}

    @generated_arglist = ([1,2,3], 2);

Calling foo(@generated_arglist) will throw an error, because the function is expecting an array followed by a scalar. However, you can get around that by using the * (splat) operator, which tells Perl to wait until runtime and then treat @generated_arglist as if it were a list of arguments to the function, and check its contents against foo’s parameter list. In Perl 5, if you had a prototyped function sub foo(@$) {...} you would work around the problem by calling it as &foo(@generated_arglist), but I have digressed a long way already.)

I’m not entirely sure I got what this thread was about. I’ve just had a chat with Dan about it on IRC, and I think I’m a little wiser, but the thread that arose from Steve’s post gave me the impression of people talking past each other a little.

Feature Freeze for 0.0.11

Steve Fink announced that Parrot was feature frozen in the wee small hours of Monday morning (at least it was Monday morning if you live in GMT; it was still Sunday if you’re in Steve’s timezone). Everyone set about tidying things up, nailing bugs and generally getting Parrot’s house in order for a public release.

Some Parrot people are disgustingly young

In a move calculated to annoy your summarizer, Dan Sugalski pointed out that Piers is now twice the age of Brent Dax. I thought it was bad enough back when I was working with Leon Brocard, who is also disgustingly young, but at least he was old enough to drink beer and vote. (It’s very important that you do the former before the latter apparently)

Parrot musical chairs

Some time after the next Parrot release everything’s going to get moved around in the parrot directory tree so things make a little more sense. Dan laid out his vision. Leo liked it. Looks like it’ll be happening.

Sorting out dependencies

Andy Dougherty has been shaking the parrot tree with different versions of Perl and found some incompatibilities between the jako and perl6 languages and Perl 5.005. A few patches and skipped tests solved that.

Attaching Debuggers

Nicholas Clark passed on the concerns of a nameless interlocutor who had expressed a desire for a Perl debugger which could attach itself to a troubled running process. This is, after all, something that gdb can already do for C programs. Dan punted on details, but thinks it should be possible to implement. It’s definitely post 0.0.11 though. Michal Wallace pointed out that Python is very ‘hooky’ and supports this.

Various fixes

Because most of the week was spent under a feature freeze, the vast majority of this week’s threads have been the kind of short lived ``Patch! Applied!” bugfix threads. Suffice to say, lots of bugs and niggles got stamped on by the usual heroes plus a few more heroes for good measure.

Parrot 0.0.11 ``Doubloon” Released

Parrot 0.0.11 got released on Saturday, narrowly missing ``International Talk Like a Pirate Day”. It was almost immediately superceded by version which fixed a slight oversight and introduced a new bug. Breaking my ‘midnight GMT cutoff’ rule, the latest version, released is actually, which deals with the fact that Parrot isn’t set up to handle 4 part version numbers. – The ``We really can’t handle these version numbers” release

Meanwhile, in perl6-language

Disposable optimization

The increasingly poorly named ``Next Apocalypse” thread went off into discussing the possibilities of disposable optimizations that could get thrown out when invariants that they depend on no longer hold. This rapidly developed into serious blue sky stuff that I can’t help but think is a little premature. Fascinating certainly, but I would like a working language before we got off making it do all sorts of clever optimization stuff.

Acknowledgements, Announcements, Apologies

Sorry it’s late.

I promised there will be new content at last week and, well, I put some photos up. Maybe this week I’ll actually write something.

As ever, if you’ve appreciated this summary, please consider one or more of the following options:



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