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
- Until about 2022, I loved to program in Raku by wim_v12e
- Deep seek Sparrow prompt, Raku adaption by sp1983
New Problem Solving Issues
New Modules
- FFmpegProgressBar by Sasha Abbott
- Air::Plugin::Wordcloud, FStrings by Steve Roe
Updated Modules
- Cairo by Timo Paulssen
- Chatnik, Data::Importers by Anton Antonov
- Physics::Error, Physics::Measure, Physics::Unit, Air::Examples, FatRatStr by Steve Roe
- Grammar::Debugger by Various Artistes
- Memoize, AccountableBagHash by Elizabeth Mattijsen
- Text::MiscUtils by Geoffrey Broadwell
- Gnome::Gtk4, Gnome::N, Gnome::Gdk4 by Marcel Timmerman
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
