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
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.
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.
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…
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.
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.
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…
Will Coleda applied Bernhard’s patch updating perlhist.txt and streams.t.
Will Coleda applied the long Warnocked update to Warnock’s contact information with only a trace of irony.
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…
Nicholas Clark, Andy Doughery, and Christian Aperghis-Tramoni all tried to convince Parrot to work on Solaris. They are brave souls.
Peter Christopher asked questions about parrot-config.imc. He also provided an initial solution.
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.
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.)
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 libnci.so to libnci_test.so, as it really is for testing. Leo applied the patch.
Matt Diephouse managed to segfault Parrot using
readline. Leo fixed it. Matt pointed out a new bug that it introduced.
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.
The Usual Footer
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