Day 17 – Generic data structure traversals with roles and introspection

Generic datastructure traversals with roles and introspection I am a lambdacamel and therefore I like to adapt concepts and techniques from functional programming, and in particular from the Haskell language, to Raku. One of the techniques that I use a lot is generic traversals, also known as “Scrap Your Boilerplate” after the title of theContinue reading “Day 17 – Generic data structure traversals with roles and introspection”

Day 11 – Unix philosophy without left-pad, Part 2: Minimizing dependencies with a utilities package

In the previous post, I made a case for why programming languages should have a utility library that provides small-but-commonly-needed functions. Today I’m introducing a Raku package that I hope will fill that gap and discussing how this fits with the Unix philosophy

Day 10 – Java Annotations in Raku or my @annotation is role;

Today, a little about the fact that the new is better absorbed through the already known. It so happened that I write for $dayjob in Java, so I will come from this side. Java 1.5 introduces an interesting syntactic form – annotations. It looks something like this: The example shows an annotation @Deprecated that causesContinue reading “Day 10 – Java Annotations in Raku or my @annotation is role;”

Day 6 – Following the Unix philosophy without getting left-pad

The Unix philosophy famously holds that you should write software that “does one thing, and does it well”. But following that advice too literally can lead to the micro-package dystopia that got us left-pad. But there is a way to write libraries that do only one thing without getting left-pad

Day 4: Parsing Clojure namespace forms using Raku grammars

One day, I started wondering if it would be possible to parse Clojure namespace forms and generate a dependency graph of the various namespaces used in a real-world Clojure project. While that was the original motivation, I ended up down the Raku grammar rabbit hole, and had an enjoyable time learning how to use them.Continue reading “Day 4: Parsing Clojure namespace forms using Raku grammars”

Day 2: Perl is dead. Long live Perl and Raku.

‘Perl is dead’, is a meme that’s just plain wrong. Perl isn’t dead. It’s just dead to some programmers. Complicated regexes? Sigils? There’s more than one way to do it (TMTOWTDI)? Sometimes when programmers encounter Perl in the wild they react with fear. “WTF!?”, they cry! But fear needn’t be a Perl killer. If youContinue reading “Day 2: Perl is dead. Long live Perl and Raku.”

RFC 190, by Damian Conway: NEXT pseudoclass for method redispatch

In his series of object orientation RFC’s Perl/Raku luminary Damian Conway includes a proposal for method redispatch, RFC 190, which is the subject of today’s article. On method dispatch Perl has a pseudoclass named SUPER which an object can use to invoke a method of its parent class that it has overridden. It looks approximatelyContinue reading “RFC 190, by Damian Conway: NEXT pseudoclass for method redispatch”

Day 20 – Raku from Perl: Transforming Old Perl Code (Part 2)

Spoiler Alert! When I started this two-part post, I was blissfully unaware of a similar topic in the Raku community; however, I was awakened to that fact when I first read Elizabeth Mattijsen’s Raku Weekly Blog on Monday, 9 Dec, and saw that the famous Perl and Raku expert, Jeff Goff, had written a multi-partContinue reading “Day 20 – Raku from Perl: Transforming Old Perl Code (Part 2)”