This Week in Perl 6, January 03 - January 11, 2005

Welcome to another Perl 6 summary. This summary explores such thrilling issues as multi-dimensional slices of Chinese food. After all, the amount of sauce any piece of Chinese food can absorb is proportional to its surface area, which is a direct function of the number of dimensions in which you slice it (provided that we ignore degenerate cases such as fractal cuts of Peking duck).

Perl 6 Language

1x6 vs 6

Craig DeForest wondered how to disambiguate a 1x6 2D array slice from a 6 element 1D array slice. He suggested a syntax inspired by PDL. Larry admitted to not having examined this particular issue and stated that he was open to suggestions. Some suggestions arrived.

Code as Comment

St├ęphane Payrard wanted to know if there is an easy way to alias arguments to a function, thus allowing a longer version for readability when calling the function and a short version inside the function. Larry suggested $s is named<subject>, which I like. The thread then devolved into punning in French.

Perl 6 Compiler

Pascal -> Pcode -> Parrot -> Profit

Sven Schubert asked about the feasibility of putting Pascal on Parrot. He noted that with the infrastructure mentioned in “Perl 6 and Parrot Essentials,” the problem would not be too bad. Apparently, “Essentials” makes a few promises that we have yet to live up to, but we are working towards it. In the meantime, St├ęphane Payrard suggested a way for him to kill two birds with one stone: Pcode.

Grammar Improvements

Luke Blanshard submitted some rules for Perl6::Grammar. Luke Palmer committed a slight variation of his work, and the hacking commences…



Peter Christopher wondered why pop_pad had not been implemented last week. This week, Leo implemented it and asked for tests.

Resizable Arrays

Simon Glover asked why ResizablePMCArray was so different from all of its Resizable*Array bretheren. The answer is that Leo improved it. This brings up an obvious task for someone looking for a reasonably friendly chunk of Parrot to work on. Rationalizing the implementation of the various Resizable*Arrays would probably be a good task for a novice looking to dig into something. Perhaps one who is on winter break…

Parrot 0.1.1 NCI Troubles

Ian Joyce noticed that Parrot 0.1.1 had some trouble with nci.t. Leo admitted that this was the case but that the CVS version works.

Test or Benchmark

Nicholas Clark wondered if resizablestringarray.t was actually a benchmark, because it had a big number which was really hurting his poor machine. Simon Glover admitted to the copy/paste error.

x86 Solaris 2.5.1 and 2.7

Andy Bach and Nicholas Clark worked towards making Parrot happier on the aforementioned architecture. This thread seemed to peter out when Nicholas asked, “How do we run a callback unconditionally after gccversion is known, independent of its value?”


Leo and Sam had a disagreement about whether a call_method vtable entry makes sense. I think that we are waiting for higher intervention…

Updated perlhist.txt

Will Coleda applied Bernhard’s patch updating perlhist.txt and streams.t.

Warnock Warnocked

Will Coleda applied the long Warnocked update to Warnock’s contact information with only a trace of irony.

gcov of perlarray.pmc reaches 100%

Simon Glover produced full test coverage for perlarray.pmc. Nifty. Some brave soul (possibly fitting an earlier description) should try this with the Fixed*Arrays…

Parrot Under Solaris 9

Nicholas Clark, Andy Doughery, and Christian Aperghis-Tramoni all tried to convince Parrot to work on Solaris. They are brave souls.

parrot-config Updates

Peter Christopher asked questions about parrot-config.imc. He also provided an initial solution.

Key Question

Simon Glover noticed some bad behavior with respect to Key PMCs. Leo and Sam both admitted that it was bad and that they need some work.

Parrot PDL

Bernhard Schmalhofer posted a pointer to PDL. Luke Palmer pondered Piddles as Parrot PMCs. Craig DeForest proposed a path passing through PDL’s PP and pausing at Parrot. (Perhaps the preponderance of Ps in Perl, Parrot, and Python should push me to alliterate with another available letter.)

Parrot Syntax Engine

Henrik Gulbrandsen introduced the powerful Parrot Syntax Engine. Leo asked a few questions to which Henrik provided answers. All in all, it looks really cool and makes me a little jealous that I did not develop the Tomita algorithm first.


Bernhard Schmalhofer moved to, as it really is for testing. Leo applied the patch.

Segfaulting readline

Matt Diephouse managed to segfault Parrot using readline. Leo fixed it. Matt pointed out a new bug that it introduced.

Substrings of Invalid Ranges

Matt Diephouse noticed that taking a substring of an invalid range had odd results. Simor Glover provided a bunch of tests for it. Leo applied the patch but mentioned that these corner cases need an authoritative hammering.

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 to



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