Category Archives: Uncategorized

Taking a couple of steps backwards to fix a GC bug

When I popped up with a post here on Perl 6 OO a few days ago, somebody noted in the comments that they missed my write-ups of my bug hunting and fixing work in Rakudo and MoarVM. The good news … Continue reading

Posted in Uncategorized | Leave a comment

Perl 6 is biased towards mutators being really simple. That’s a good thing.

I’ve been meaning to write this post for a couple of years, but somehow never quite got around to it. Today, the topic of mutator methods came up again on the #perl6 IRC channel, and – at long last – … Continue reading

Posted in Uncategorized | 7 Comments

Concurrency bug squishing: part 1

Most of my recent Perl 6 development time has been spent hunting down and fixing various concurrency bugs. We’ve got some nice language features in this area, and they’ve been pretty well received so far. However, compared with many areas … Continue reading

Posted in Uncategorized | 3 Comments

Assorted fixes

I’ve had a post in the works for a while about my work to make return faster (as well as routines that don’t return), as well as some notable multi-dispatch performance improvements. While I get over my writer’s block on … Continue reading

Posted in Uncategorized | 1 Comment

‘grinding out performance improvements

In the last weeks, I’ve been working on various Perl 6 performance improvements. They’ve led to changes in all of MoarVM, NQP, and Rakudo. For each improvement, there are usually three steps involved: Take some program that performs poorly, and … Continue reading

Posted in Uncategorized | 3 Comments

Refactoring and torture

This post covers the previous two weeks of my Perl 6 grant work. Last time I wrote here, I plotted changes to call frames in MoarVM. Or, as the wonderful Perl Weekly put it, provided way too much information about … Continue reading

Posted in Uncategorized | 4 Comments

Framing the problem

In this post I’ll be talking a lot about call frames, also known as invocation records. Just to be clear about what they are, consider a sub: sub mean(@values) { @values.sum / @values } Whenever we call mean, we create … Continue reading

Posted in Uncategorized | 5 Comments