Day 25: Rakudo 2022 Review

In a year as eventful as 2022 was in the real world, it is a good idea to look back to see what one might have missed while life was messing with your (Raku) plans. Rakudo saw about 1500 commits this year, about the same as the year before that. Many of these were bugContinue reading “Day 25: Rakudo 2022 Review”

Day 22: He’s making a list… (part 1)

If there’s anything that Santa and his elves ought to know, it’s how to make a list. After all, they’re reading lists that children send in, and Santa maintains his very famous list. Another thing we know is that Santa and his elves are quite multilingual. So one day one of the elfs decided that,Continue reading “Day 22: He’s making a list… (part 1)”

Day 20: Sigils are an underappreciated programming technology

Sigils have a bit of a bad reputation. According to their detractors, sigils are “just a way of encoding type information” in variable names – basically a glorified version of apps Hungarian notation (which isn’t even the good kind of Hungarian notation). Maybe sigils served a purpose in the bad old days, but now we have fancy IDEs and editors can give us all the type information we might want, and these modern tools have made sigils obsolete.

Or so they say. But I disagree – as do many of the hackers whose perspectives and insights I value most.

So my goal in this post is to convince you that sigils are a powerful tool for writing clear, expressive code. In fact, I’ll go further: Sigils are a powerful tool for clear communication in general – that they’re useful for programming is just an application of the more general rule.

Day 19 – Let it Cro

Ah, advent. That time of year when the shops are filled with the sound of Christmas songs – largely, the very same ones they played when I was a kid. They’re a bit corny, but the familiarity is somehow reassuring. And what better way to learn about this year’s new Cro features than through the words ofContinue reading “Day 19 – Let it Cro”

Day 14 – Thinking Beyond Types: an Introduction to Rakudo’s MOP

It’s Christmas season! Christmas would not be Christmas without the caroling that’s part of the festivities, so let’s make it possible to sing some. We could simply make a carol one giant string, but that’s not good enough. Being a song, carols often have a chorus that’s repeated in between verses. If we were toContinue reading “Day 14 – Thinking Beyond Types: an Introduction to Rakudo’s MOP”

Day 13 – A Little R&R

A Little R&R Introduction Raku is a really nice language. Versatile, expressive, fast, dwimmy. The only problem I sometimes have with it is that it can be a little slow. Fortunately that can easily be solved by the NativeCall interface, which makes it easy to call C code in your Raku program. Now, as niceContinue reading “Day 13 – A Little R&R”

Day 12 – Making a simple bot in Raku

Making IRC bots is incredibly simple in Raku, thanks to IRC::Client. It allows you to create a very simple bot in about 20 lines of code. There’s a plugin system that allows easy re-use of code between multiple bots, and adding customized features can be as easy as dropping in an anonymous class. So, let’sContinue reading “Day 12 – Making a simple bot in Raku”

Day 8 – Parsing Firefox’ user.js with Raku (Part 2)

Yesterday, we made a short Grammar that could parse a single line of the user.js that Firefox uses. Today, we’ll be adding a number of test cases to make sure everything we want to match will match properly. Additionally, the Grammar can be expanded to match multiple lines, so we can let the Grammar parseContinue reading “Day 8 – Parsing Firefox’ user.js with Raku (Part 2)”