Rakudo: More bugs squished, over 7000 passing spectests

The Raku Programming Language Collect, Conserve and Remaster Project

Rakudo: More bugs squished, over 7000 passing spectests

Originally published on 25 February 2009 by Jonathan Worthington.

Today was Rakudo day, and I used it to get a bunch of fixes in place as well as applying some patches from other folks. Before digging in to the details, I’m happy to point out that we’re now passing over 7,000 spectests - in fact, we got past that last night, before today’s round of fixes, so we’re well over it now.

my ($, $, $, $four) = 1..4;
my ($one, $two, *@) = 1..4;

To only assign some things. Note that *@ is just the slurpy array * - it’s a signature (and in fact you would now be able to write *@ in a signature on a sub too).

Additionally, I tracked down where the raku executable often crashes with a double free or got into an infinite loop on exit (it was a problem that only showed when using the executable, and not when using the bytecode file on Parrot - not because the problem wasn’t there, but because Parrot didn’t bother to reclaim the memory on exit so it never ran the cleanup code that exploded). I wrote a patch which sucked, but prevented the double frees. I showed it on #parrot, at which point pmichaud - now knowing where in Parrot the problem lay - churned out a much smaller patch that was more correct and more efficient. It’s in, we bumped up the recommended Parrot version for Rakudo and I closed some tickets about segfaults.

So, thanks to Vienna.pm for sponsoring Rakudo Day this week. There won’t be one next week, since I’ll be taking some vacation. This weekend is the Belgian Perl Workshop, and the weekend after is the Ukrainian Perl Workshop, so I’m going to spend a bit of time in each of those countries between them, relaxing and enjoying the sights, the beer and the food. And of course, very much looking forward to seeing folks and talking about Raku and Rakudo at the workshops too!