2026.19 Art of Failure

Post Image: Art of Failure by XoMEoX, CC BY 2.0 https://creativecommons.org/licenses/by/2.0, via Wikimedia Commons

Avuserow’s Corner

Avuserow tells us that Raku’s Failures are a Great Success while bathed in a beautiful retro orange glow.

Raku has failures, a type of delayed exceptions. In try blocks or if you use it (e.g. by calling a method on it), it throws an exception. If you store it as a value, it’s an undefined value (which will throw an exception if you use it without handling it).

This is a great compromise that works with try/CATCH in most code and also allows for ergonomic small scripts (or one liners)….

Fernando’s Corner

Fernando Correa de Oliveira teases us with a Grammar Playground built on Selkie UI. An impressive application of the recently released Selkie TUI framework by Matt Doughty. Looking forward to the release…

Steve’s Corner

Yours truly continues to pour DieSeL (DSL = Domain Specific Languages – geddit?) on the Raku fire. This time I pose the question Why Raku Grammars? I try to mimic a typical Python [1] coder’s experience when they want a DSL:

  • Crank open Claude Code
  • Get it to define a DSL for the problem domain
  • Have it write a parser / renderer in Python

And then to see how that compares to Raku Grammars in terms of ease of use and code maintainability. Aiming to showcase the unique Raku capabilities that make it worth the pain of switching to a new tool i.e. “Why Switch to Raku?” If you don’t want to read too many words, then eyeball the side-by-side results for an instant impression.

[1] I chose Python as the comparison since I guess there are 1000s Python coders who need to make a DSL … would encourage other to do this for other popular languages – Go, TS, Rust and so on – and share your results.

TPRC Save the Date

Don’t Miss the Perl and Raku Conference 2026 in Greenville, SC
SAVE THE DATES! Friday through Sunday, June 26-28

Registration is open: https://tprc.us/tprc-2026-gsp

Weekly Challenge

Weekly Challenge #373 is available for your fortification.

Raku Tips ‘n Tricks

I joined the Raku Study Group yesterday and enjoyed hanging out with some keen Raku coders. Bruce Gray has been an inspiration to many of us with his very thorough, patient and passionate explanations of many of Raku’s killer features. I highly recommend his Raku for Beginners Part 1 and Part 2.

One items that struck me at the time and had lasting impact was his summary of the “cat’s ears” Range demarcation syntax (minute 31 of Part2 to hear it from the horse’s mouth):

say   1  ..  5;        #1..5
say  (1  ..  5).WHAT;  #(Range)
say |(1  ..  5);       # 12345
say |(1 ^..  5);       # 2345
say |(1  ..^ 5);       # 1234
say |(1 ^..^ 5);       # 234
say |(      ^5);       #01234 (short for 0..^5)

I think that table says it. Reproduced here with Bruce’s kind permission.

Your contribution is welcome, please make a gist and share via the #raku channel on IRC or Discord.

Comments About Raku

New Problem Solving Issues

New Modules

Updated Modules

Winding down

Some interesting stuff this week … feels that there is a lot of -Ofun to be had with Selkie and Selkie::UI. I feel more will be coming soon. Tune in next time.

Please keep staying safe and healthy, and keep up the good work! Even after week 67 of hopefully only 209.

~librasteve

Leave a comment