2026.22 Some AST Fruit

TPRC

It is just over 20 days before the start of The Perl and Raku Conference 2026 in Greenville, SC, USA.

The Perl and Raku Conference or TPRC (formerly known as YAPC::NA) is a high-quality, inexpensive technical conference with its roots in the Perl Mongers user groups. The conference celebrates the Perl and Raku programming languages. It is meant to be accessible to anyone, regardless of experience, yet valuable to even the most skilled programmers. Each year, the conference attracts programmers from around the world.

The conference planning team needs to know if you are coming so they can make sure and have everything ready for you (t-shirt, lunches, name badge, planetarium tickets, etc). Please register today!

Registration: https://tprc.us

Weekly Challenge

Weekly Challenge #376 is available for your inspection.

Simon’s Corner

SIBL shows the path from this ugly (perl) mess to this much better (raku) script. An eloquent demonstration of Raku’s expressiveness.

Elizabeth’s Corner

lizmat reminds us of the advantages of Moving printf formats forward, the stated plan was to reimplement in RakuAST with the multiple benefits described. This upgrade has now landed in sprintf in Raku latest as announced in the previous episode. Yay!

A new way of creating strings from a given set of values and format string (in other words printf functionality) has been implemented using RakuAST in the Raku Programming Language, making it up to 30x as fast.

Anton’s Corner

Anton Antonov adds some heft to the DSL conversation…

Steve’s Corner

I continue to feed the DSL fire…

Sparrow’s Corner

Tool to check Linux services configuration files compliance and reddit comments.

Gentoo Raku

The gentoo linux wiki adds a page for raku: https://wiki.gentoo.org/wiki/Raku

Raku Tips ‘n Tricks

Frequently, this section is inspired by short exchanges on the IRC/Discord chat. Today is no exception. Thanks to avuserow for the inspiration.

Prior to this, I had (wrongly) assumed that the $scale argument in routine round()is confined to a decimal, like this:

multi        round(Numeric(Cool), $scale = 1)
multi method round(Cool:D: $scale = 1)

say 1.7.round;          # OUTPUT: «2␤»
say 1.07.round(0.1);    # OUTPUT: «1.1␤»
say 21.round(10);       # OUTPUT: «20␤»

Then I saw this and inquired as to its use case: being able to round to the nearest 0.25 via $x.round(0.25) is great for eg font sizes.

(25/11).round(0.25)

Lightbulb moment. Apparently Raku and Ruby are among a few languages with this syntax. Here are some more examples for -Ofun:

$x.round(0.25)   # typography
$x.round(8)      # snap to grid
$x.round(10)     # axis ticks
$x.round(15)     # calendar time
$x.round(0.2)    # star rating
$x.round(2.5)    # gym weight plates
$x.round(1024)   # network packet payload
$x.round(22.5)   # map bearings
$x.round(1/16)   # musical timing

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

Comments About Raku

New Doc & Web Pull Requests

New Modules

Updated Modules

Winding down

It is great to see the teamwork on RakuAST bring real performance benefits – thanks to lizmat for reminding us of the plan she set out to do and making steady progress to the stated goal. And to the whole RakuAST effort behind that.

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

~librasteve

Leave a comment