Raku as a DSL Tool
The https://slangify.org site was made as a way to illustrate the benefits of Raku as a DSL tool.
DSLs are a secret weapon for LLM effectiveness because their human-readable, domain-centric structure constrains both the training set and model outputs, making them significantly easier for LLMs to generate accurately.
Thanks to Fernando Correa de Oliveira for his very cool work on Grammar::Editor and enabling the Playground. This has the promise to be a key tool for DSL creators to share with less technically oriented colleagues (such as accountants who want to leverage AI).

I wrote a simple Invoice DSL to help showcase Raku Grammars for this domain. Please grab your keyboard, spin up your favorite LLM (if that’s how you roll) and help to expand the picture – any actual business domain and specifically, it would be great to see:
- State Machine
- SVG
- SQL
- Mermaid
- Open API SL
If you have a DSL project to share on the Examples or Ecosystem page, please let us know – it would be great to showcase your work here.
TPRC Save the Date
Don’t Miss the Perl and Raku Conference 2026 in Greenville, SC, USA
SAVE THE DATES! Friday through Sunday, June 26-28
Registration is open: https://tprc.us/tprc-2026-gsp
Weekly Challenge
Weekly Challenge #374 is available for your bemusement.
Raku Tips ‘n Tricks
I saw an exchange on IRC/Discord chat recently, went something like:
I have this…
sub Baz ($a, :$b!, :$c = 'C') { say "$a$b$c" }
Baz('A',:b('B')); #ABC
…now I’d like Foo() to simply pass its args to Baz(), something like…
sub Foo(?) { Baz(|c) }
Foo('A',:b('B')); #want ABC
…and, sure enough, came an answer.
sub Foo(|c) { Baz(|c) }
Foo('A',:b('B')); #ABC
In English, that means (i) the c is just an identifier, |c represents capturing all arguments into a Capture in the Foo signature, (iii) in the call to Bar(), |c represents flattening all args in the Capture as args in the call.
Bingo!
[lucs & lizmat to thank for the excellent question and answer]
Your contribution is welcome, please make a gist and share via the #raku channel on IRC or Discord.
Comments About Raku
- I made my own terminal emulator in #rakulang by adrian
- Raku grammars are cracked. Here’s Jinja2. by Matt Doughty
- … [Raku] ended up taking a journey that fragmented the ecosystem … by hnlmorg
- Raku has built in grammers that can do that idiomatically. by reddit_clone
- Yeah Raku feels so expressive and lovely to me … by polytely
- Despite being a minority language, Raku is ideal for these aspects by Steve Roe
- (pleasantly) surprised by Claude Code doing Raku by Steve Roe
New Problem Solving Issues
New Doc & Web Pull Requests
- Pico2.10 Steve Roe
New Modules
- MCP::Client by Anton Antonov
- Template::HAML, Console::Blackjack by Greg Donald
- Grammar::Extractor, Grammar::Editor, Selkie::UI by Fernando Correa de Oliveira
Updated Modules
- Hash::Ordered by Elizabeth Mattijsen
- Air, Hilite, Actionable by Steve Roe
- LLM::Prompts, LLM::Functions by Anton Antonov
- Gnome::Pango, Gnome::Gtk4 by Marcel Timmerman
- Notcurses::Native, ComfyUI::API, Selkie by Matt Doughty
Winding down
It has been a ride this last week to make the https://slangify.org site. Thanks for all the support to those involved and an interesting learning curve in getting to grips with Claude Code. Hopefully, this will hope to interest non-Raku coders to try our language and enjoying some of the -Ofun.
Please keep staying safe and healthy, and keep up the good work! Even after week 68 of hopefully only 209.
~librasteve
