This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit

The Perl 6 summary for the week ending 2006-01-01

Another year, another summary. You might think I'm going to summarize the events of the whole year, but it turns out that chromatic's already done it. So in the spirit of laziness, I'll just point you at his year end summary.

Sadly for us all, he doesn't go into enough detail on the events of the last week for me to go straight into the coda. I shall have to talk to him about next year.

This week sees a big non-technical change in the Pugs camp, lots of roadmapping and implementation in the Parrot camp, and a more and more concrete feel of what the language is going to look like in the perl6-language camp.

Pretty much business as usual really.

This week in perl6-compiler

Runtime typecasting

Autrijus Tang is now Audrey Tang. Read her explanation on her blog. Speaking personally I'm delighted that she's found the courage to make the change and wish her the best of luck and happiness in her new/true identity.

Pugs on Cygwin

There was a fair amount of discussion on getting pugs and parrot running in the Cygwin environment this week. Last time I looked, things were working again.

This week's Pugs developments

Audrey's taken to summarizing pugs developments on her blog and to posting digests of these posts on the list. She wrote about PIL and Rules this week. -- Pugs-PIL developments -- Pugs-Rule developments -- Pugs-Rule: Grammar support

Meanwhile, in perl6-internals

Threading PDD?

Patrick Michaud suggested, after a question from Klaas-Jan Stol, that it might be a good idea to create a placeholder Threading PDD (Parrot Design Document) noting that threading hasn't been specced yet and that a draft would be welcomed. Warnock applies.

Pugs is the official Perl 6?

Or am I putting words into Luke's mouth? Read, then decide.

.imc or .pir? There can only be one

As part of the great Parrot reorganization, Chip declared that the IMC vs PIR ambiguity had to be resolved. As he put it:


Two names enter

One name leaves

The name that left was PIR, any files you find with .imc extensions should be cruelly laughed at while you kick sand in their faces.

Dynamic binding patch

Bob Rogers offered up a patch to implement dynamic binding of globals for the list's consideration. Leo thought the patch was mostly sound, but that the whole dynamic binding thing needed more thought and infrastructure. Which is probably a broad hint to Chip and possibly @Larry (said hint hasn't been taken yet though, well, not in public).

Smoke testing

Leo pointed everyone at the Perl Image Testing Architecture, which has possibly the coolest acronym of any Perl project in recent years. He thought it would be useful to use for additional Parrot platform testing as well.

Lots and lots of TODOs

I'm not going to enumerate them here, but Will Coleda, Matt Diephouse and others have been adding loads of TODO entries to the Parrot bugtracker. Which is nice.

IMCC optimizer instruction duplication and opcode write/reads

Amos Robinson wanted to know how to go about duplicating instructions and wondered about the correct semantics of in/out/inout arguments. Leo came through with the answers.

Meanwhile in perl6-language

Iterating over complex structures

Rob Kinyon applied the 'What does Ruby do?' pattern to the problem of iterating over complex structures. Mostly it looks good, but I'm hoping that someone else considers applying the 'What does Smalltalk do?' pattern as well. Subject to tuit supply, I might even do that myself.

Match objects

"Who is Match, and to what does he object?"

Sorry. Couldn't resist.

Patrick and Luke discussed the behaviour of match objects.

(Array) introspection

Ilmari Vacklin wondered about how to introspect on the structure of arrays and other data structures. Warnock applies.

Array/list transformations

Rob Kinyon pointed out the difficulties of dealing with binding array slices and other such goodies. Larry thought it wasn't really that difficult (from the point of view of the perl programmer, things might be different for the implementers)

Relationship between slurpy parameters

Austin Frank wondered about the different uses of prefix:<*> in parameter lists and elsewhere. Stuart Cook had answers. Piers Cawley worried about the current behaviour of prefix:<*> in parameter lists and about how eager its flattening should be.

Building the documentation that will ship with Perl 6 and Pugs

Andrew Savige outlined some off the issues that need addressing as we move towards releasing a properly documented Pugs, and the Perl 6. After outlining issues, he called for volunteers. Nobody commented on the list (yet), but I hope people will be taking up the challenge.

$/ and $! should be env

Luke proposed that we change $! and $/ into env variables. Because almost nobody understands what an env variable is (your summarizer had never even heard of 'em -- I think I may have to do some serious synopsis rereading and soon) Luke explained what they were and why they should be used in this case. The usual Sunday Warnocking applies -- expect more detail next week.

Rules should be independent of evaluation strategy

Luke talked about an idea for implementing different parsing engines that use Perl rules but without necessarily doing recursive descent style parsing. Nicholas Clark pointed out a typo, but the basic thrust of the article remains in Sunday Warnock land.

Acknowledgements, apologies and everything else

Happy new year everyone. I've just opened up a 4th annual subdirectory in my summaries directory. I had hoped we'd have the real Perl 6 by now, but these things take the time they need I guess. Things are looking good for the future though. Here's hoping that Audrey and the other pugs people keep up their phenomenal rate of development.

I hope that, from next week you'll be able to find Matt's summaries in the same place as mine,

Help Chip -- Chip still needs help.

The usual coda

If you find these summaries useful or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl. -- The Perl Foundation

The Perl Foundation Blog is an excellent source of news about the Perl Foundation's activities.

Planet Perl Six is a handy news aggregator of several Perl 6 related sources. -- Perl 6 Development site

Check out my website, it's lovely.

Vaguely pretty photos by me can be found at: