2025.46 Advent Alert & Release #187

Congrats to the team for the new Rakudo compiler, Release #187 (2025.11).

The following people contributed to this release:

Will Coleda, Elizabeth Mattijsen, Eric Forste, Patrick Böker, librasteve, David Schultz, Timo Paulssen, Anton Oks, Daniel Green, Geoffrey Broadwell, Jake Boeckerman, Jimmy Zhuo, Nahuel Pacheco (NaP), Sizhe Zhao, jubilatious1

Advent Alert

It’s that time of the year again: the time for writing Raku Advent Calendar blog posts! So that we can all enjoy them in the darkest days of the year (well, at least on the Northern Hemisphere). The elven have opened up the 2025 list of articles to be. Please add your name and proposed article title: beginner or medium or advanced. Or tongue-in-cheek, or ultra technical. It will all be well appreciated!

(Ed: 5 slots of 25 are already booked, don’t miss your chance for the -Ofun!)

The Short Notice London Perl (and Raku) Workshop 2025

Andrew / Organiser:
Extremely short notice, but the website is up and registrations and talk submissions are open. The conference will take place in two weeks (!), on 29 November, at International Student House in Great Portland Street.

Please visit https://www.londonperlworkshop.com to register to attend (free) or to propose a short talk. I hope to see you there!

Anton’s Corner – Monad Laws in Raku

That effort requires to verify that the Monad laws apply to certain constructs of the Raku language. This document (notebook) defines the Monad laws and provides several verifications for different combinations of operators and coding styles.

Raku Tips ‘n Tricks

Recently there was a debate about one line of our front window code example, that one line is quite a good example of what makes raku tick. The successive versions show how Raku can improve code concision and readability:

class Circle {
    has $.radius;
    method area { π * $.radius² }
}

my @radii = 1,2,4...256;

#version 1: vanilla code
my @circles;
for @radii -> $radius {
     @circles.append( Circle.new(radius => $radius) );
}

#version 2: use map not for
my @circles = map -> $radius { Circle.new(radius => $radius) }, @radii;

#version 3: use colon Pair notation (rm one repeat of 'radius')
my @circles = map -> $radius { Circle.new(:$radius) }, @radii;

#version 4: use topic (rm another repeat of 'radius);
my @circles = map { Circle.new(radius => $_) }, @radii;

#version 5: use both of these:
my @circles = map { Circle.new( :radius($_) ) }, @radii;

#version 6: use implicit topic var:
my @circles = map { Circle.new(:$^radius) }, @radii;

I hope you like this regular weekly item. To contribute please make a gist and share via the raku channel IRC or Discord.

Weeklies

Weekly Challenge #348 is available for your discovery.

New Problem Solving Issues

New Docs Pull Requests

New Pull Requests

Questions About Raku

Meanwhile in the Fediverse

Comments About Raku

New Raku Modules

Updated Raku Modules

Winding down

Really nice to see Nahita proposing an item for the Tips & Tricks section – I mean frankly, I think I could write 100s of these myself [please don’t!] … so don’t be shy and keep them coming.

Readers with sharp eyes will notice that this WordPress.com hosted blog now has Raku code highlighting – thanks to the new raku Hilite::Simple module (author yours truly). It is built on the Rainbow module by Patrick Böker and uses RakuAST under the hood. It uses the same default colour scheme as the new https://raku.org website. (and btw it’s a challenge to make HTML that WordPress does not regurgitate).

Big shout out to SmokeMachine for this weeks cover image that recalls the infamous mug throwing incident that started the work on Raku (the language formally known as Prince Perl6).

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

Meanwhile, still: Слава Україні!  Героям слава!

~librasteve (editor-in-chief)

One comment

Leave a comment