This Week on Perl 6 (13 - 19 Jan 2002)

This summary, as with past summaries, can be found in here. (Note that this is an @Home address, and will change sometime in the next two months.) Please send additions, submissions, corrections, kudos, and complaints to

Perl 6 is the major redesign and rewrite of the Perl language. Parrot is the virtual machine that Perl 6 (and other languages) will be written for. For more information on the Perl 6 and Parrot development efforts, visit and

There were 166 messages across 69 threads, with 38 authors contributing. Again, most of the messages were patches.

Apocalypse 4

Larry Wall released Apocalypse 4, covering blocks (and scopes and statements). It’s quite weighty, particularly up front, but here’s a quick glossy on what’s covered:

  • the new given / when switch block

  • exceptions

  • scope changes

  • no more required parentheses for expressions in block constructs

  • a lot more flow-control blocks

  • multiple iterators in looping blocks

There are quite a few other tidbits inside. The Apocalypse was released late Thursday night, so little feedback, and no Damian Conway’s Exegesis, have been processed yet. I’ll pick up community reaction next week.

Parrot Strings

Jarkko Hietaniemi, the Perl 5.8.0 pumpking, posted a developing PDD on string handling in Parrot, largely based on his experience providing Unicode support for Perl 5. The main tenets of the proposal are:

  • separate binary data and its API from textual data and its API - at both the language and internals level

  • convert all text - string constants, source code, input data - to the internal representation: UTF-16, or a UCS-2 (non-surrogate) and UTF-16 (surrogate) hybrid

  • handle localization as a separate layer

Most of the following discussion centered around regular expression character classes, and how to best implement them. Brent Dax is currently using UTF-32 within the regex engine, with a hybrid bitmap, binary lookup scheme for character classes, similar to the way that Perl 5 does. Jarkko suggested using an inversion list.

This discussion is ongoing, so there’ll be more to report next week with this, too.

The Parrot Spotlight

Most folks already have an inkling of what Larry Wall, Damian Conway, Dan Sugalski, and Simon Cozens have been doing for Perl 6 and Parrot, so we’re going to pad space with some brief introductions to some of the other Parrot Troopers getting things done.

Daniel Grunblatt is a 21 year old university student in Argentina. He’s been working in Perl for several years, but Parrot is his first time working on Perl internals. He’s the creator of Parrot’s JIT compiler, and also plays basketball and role-playing games.

Parroty Bits

The Perl Development Grant Fund exceeded $80,000, thanks to sizable contributions from DynDNS, pair Networks, and SAGE.

Bryan C. Warnock



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