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 2004-08-27

Where does the time go? I blame folk festivals. Once I'm getting busy with the teacher training I'm going to have weekends free to write the summaries. And if you'll believe that...

We start with perl6-internals.

Incremental garbage collection

Discussion of implementing incremental garbage collection continued.

Calling conventions for unprototyped subroutines

Mattia Barbon asked for some clarification of how the calling conventions work for unprototyped subroutines in IMCC. Specifically, whether IMCC was behaving as documented in the Parrot Design Document (PDD3). Leo reassured him that the TODO entry that had caused his disquiet was obsolete and that IMCC does the right thing.

Compile op with return values

Steve Fink asked how to go about returning something from dynamically compiled code. He, Leo and Dan went over the issues. An unnamed (and as yet unvolunteered) volunteer will probably write it all up and add it to the parrot compiler FAQ.

NCI and callback functions

Stephane Peiry and Leo continued to work on getting NCI callbacks working with the GTK library. They finally tracked the problem down, but it looks awfully like Stephane's going to have to reimplement the gtk_main loop to get everything working. Best of luck Stephane. ParrotGTK would definitely be a cool thing.

Planet Parrot

Robert Spier announced the creation of Planet Parrot, an aggregator of Parrot related blogs. If you have such a blog, Robert would probably be interested in hearing from you.


Leo and Dan continued to discuss and work on documenting Parrot's memory management API.[]

NCI GC issues

Dan noticed a problem with garbage collection and NCI PMCs. Leo tracked the problem down and fixed it.

I love it when a plan comes together.

Opinions on base behaviour

Base behaviour is disgusting and should be stamped out I tell you. We have a moral duty to...


Actually, the subject refers to Dan and Leo's desire to nail down the behaviour of Parrot's basic types. He outlined the issues and asked for discussion. And that's what he got.

It looks like Parrot's going to have a reasonably complete set of numeric types which will allow accuracy nerds to avoid reals for as long as possible. Which will be nice.[][][][][]

Concat, Cows & Basil

Comfortably winning the "weirdest subject line of the week" award, Sam Phillips laid out some of the problems he's having implementing a Basil compiler which targets Parrot. Leo supplied answers.

Low level math[s] op behaviour

As well as discussing basic types, Dan opened a discussion of the proper semantics of Parrot's low level maths (yeah, he spelt it 'math', but I'm English and I'll spell it correctly) operators. In particular he proposed variants that throw exceptions if strange things happen.[]

Benchmark stuff

 Joshua Gatcomb posted some patches he'd made to F<> to
 make it a little less fragile and more useful. A few days later he
 announced a slightly more finished set of patches (Leo had checked his
 original patches in rather sooner than expected).

Resuscitating a mod_parrot

Dan Sugalski looked upon mod_parrot and saw that it was cool, to the point of being laid out on a mortuary slab. He thought that the time had come to try and put some life back into the project, now that Parrot's so much more capable. He asked for volunteers and Jeff Horwitz seems to be (the only?) one of 'em.[]

PMC instantiation

Leo posted another of his discussion documents, this time on instantiating PMCs. No response so far.

Meanwhile, in perl6-language

Return with no expression.

In the usual freewheeling perl6-language way, a thread entitled 'return with no expression' ended up discussion how to disambiguate a :: which is part of ... ?? ... :: ... expression and :: in its role as module sigil. (According to Luke it's easy; white space is required).

Synopses discussed

Discussion of the draft synopses continued[email protected] - Synopsis 2

POD tables?

Aaron Sherman wondered if Perl 6's incarnation of POD would have support for tables. Luke wasn't overly keen on Aaron's proposed syntax, and Larry pointed out that they'd managed to use Perl 5's POD and some clever processing to write tables for the third edition of Programming Perl. Once again, it seems that everyone agrees that POD is great, but could be greater, but nobody can agree on how to make it greater. Me, I think Larry got it right enough.

Constructors and mixins

Ovid had some questions about how Constructors work in Perl 6 and about how to disambiguate methods when using Roles. Larry and Damian provided answers.


Instantiation was on Aaron Sherman's mind too. He proposed some syntactic sugar for creating objects at 'use' time. For some reason, syntactic sugar proposals do seem to create lots of discussion.

Announcements, Apologies, Acknowledgements

I am reliably informed that a lot of last week's links were broken. Which is odd because the code to generate them hasn't changed. It looks like the problem's down to the gateway between and being slightly radished at present.

However, I'm going to stick with the Google links in this summary in the hopes that normal service will be returned shortly and things will get backfilled. If anyone has a handy tool for getting from a message id to an archive URL that works then I'd be happy to hear from them.

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 feedback or contributions to a 'getting Piers to OSCON 2005' fund to mailto:[email protected] -- The Perl Foundation -- Perl 6 Development site

Amazingly, there's a small amount of newer content on my website this week. Will wonders never cease?