Day 25: Reminiscence, refinement, revolution

By Jonathan Worthington Raku release reminiscence Christmas day, 2015. I woke up in the south of Ukraine – in the very same apartment where I’d lived for a month back in the spring, hacking on the NFG representation of Unicode. NFG was just one of the missing pieces that had to fall into place duringContinue reading “Day 25: Reminiscence, refinement, revolution”

Day 24: Christmas-oriented programming, part deux

In the previous installment of this series of articles, we started with a straightforward script, and we wanted to arrive to a sound object-oriented design using Raku. Our (re)starting point was this user story:

Day 23: Christmas-oriented design and implementation

Every year by the beginning of the school year, which starts by January 8th in the North Pole, after every version of the Christmas gift-giving spirit has made their rounds, Santa needs to sit down to schedule the classes of the North Pole Community College. These elves need continuous education, and they need to reallyContinue reading “Day 23: Christmas-oriented design and implementation”

Day 22: What’s the point of pointfree programming?

He had taken a new name for most of the usual reasons, and for a few unusual ones as well, not the least of which was the fact that names were important to him. — Patrick Rothfuss, The Name of the Wind If you’re a programmer, there’s a good chance that names are important toContinue reading “Day 22: What’s the point of pointfree programming?”

Day 21: The Story Of Elfs, and Roles, And Santas’ Enterprise

Let’s be serious. After all, we’re grown up people and know the full truth about Santa: he is a showman, and he is a top manager of Santa’s family business. No one knows his exact position, because we must not forget about Mrs.Santa whose share in running the company is at least equal. The positionContinue reading “Day 21: The Story Of Elfs, and Roles, And Santas’ Enterprise”

Day 20: A Raku in the Wild

Quite a while ago, Santa got a feature request for a web application called AGRAMMON, developed by the elves of one of his sub-contractors Oetiker+Partner AG in what then was called Perl 5. When Santa asked the elf responsible for this application to get to work, the elf suggested that some refactoring was in order,Continue reading “Day 20: A Raku in the Wild”

Day 19: Typed Raku, Part 2: Taming Behaviour

In the previous part, I claimed that types can allow for more fluid, robust code, then wrote a bunch of restrictive types for chess that won’t allow for this to occur: Branching with Multiple Dispatch There’s a key concept we need to understand before we can fix the types we wrote, but we can’t useContinue reading “Day 19: Typed Raku, Part 2: Taming Behaviour”

Day 18: Typed Raku, Part 1: Taming State

Introspecting Types and Kinds The type of any object in Raku can be introspected with WHAT: Though we’re often more interested in its type’s name than the type object itself when we want to do this: Typechecking is among the behaviours defined by an object’s HOW: In type theory jargon, this would be a kind,Continue reading “Day 18: Typed Raku, Part 1: Taming State”

Day 17: Becoming a Time Lord in Raku

I’ve lived within a few minutes of a time zone border for most of my life. The way we distinguished time wasn’t with the official monickers of “Eastern” and “Central” time. No, we used the much more folksy (and yet, also much cooler) terms “fast time” and “slow time”. Knowing which zone you were talkingContinue reading “Day 17: Becoming a Time Lord in Raku”

Day 16: Writing faster Raku code, Part II

By Wim Vanderbauwhede This is the follow-on article about writing an expression parser in Raku. In the previous article, I explained the background looked at some basic performance comparisons relating to data structures for parsing and ways to process them: lists, parse trees, recursive descent and iteration. In this article, we’ll have a look atContinue reading “Day 16: Writing faster Raku code, Part II”