2026.04 Hello, Goodbye

FOSDEM Community Dinner Information

TPRF sponsor the FOSDEM Perl and Raku community dinner which is is traditionally held on the Saturday evening. All food is included and guests are free to purchase their own drinks. [Ed: guess that’s what they mean by free as in beer?]

31st January 2026 19:30

Please register to attend:

https://perlfoundation.org/fosdem/community-dinner.html

Richard’s Corner

Richard Hainsworth has produced a brand new online browser/editor for RakuDoc (v2).

https://raku.finanalyst.org/rakudoc_editor/ (the final / is important)

There are two sample rakudoc sources via the drop-down; the render test one may take some time to render.

You can upload your own RakuDoc source, and download the RakuDoc source to your download directory.

The docker image that runs this browser contains the latest version of RakuDoc (v2), which includes the enumeration functionality.

Very nice!

Liz’s Corner

This week, Elizabeth Mattijsen (lizmat) has blasted out 4 posts in her series on WHY RAKU GETS SHOUTY SOMETIMES:

Set phasers to stun. Stay tuned for more.

Weeklies

Weekly Challenge #358 is available for your enjoyment.

Raku Tips ‘n Tricks

This week, gleaned from a recent exchange between timo, arkuiat and profoundly nerdy:

In Raku, the for keyword is the only looping construct that binds to $_ (the topic variable) each time through the loop. Unlike Perl, in Raku there is no usage of while that does this. Other keywords that also automatically bind $_ (but don’t loop) are with and given, but I’m sure there are others that I’m not coming up with with right off the top of my head.

Of course, you can always go something like:

while prompt('>> '-> $_ { say "I say, $_"; }

Here are the keywords that do bind and use $_:

my @a = <a b c>my $x = 42;

#for, given and with bind $_

.say for   @a;
.say given $x;
.say with  $x;  #if defined

#when reuses givens $_
given $x {
    when 42 { say $_ }  # same $_ as given
}

#whenever (Each event emitted by the Supply becomes $_)
my $s = supply { emit 1; emit 2; emit 3; done; }

react {
    whenever $s {
        say $_;  # emitted value
    }
}

If you don’t specify a target, regexes default to $_:

#regex matches m//, s///
say "match!" if /ell/ } given "hello";

For map, grep and sort $_ exists, but its block magic, not keyword binding:

my @a = <a b c>

@a.map({ .say });

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

Core Developments

  • Improvements:

    • Remove meaningless command-line argument “parsetrace” [cff551c8]
    • Add infix + – / * candidates for mixed int / num [1b46f713]
    • Make -MSIL cleaner by excluding any core BBs [c7e41bd8]
    • Test .from-posix versus .from-posix-nanos [f95aefad]
    • Add profiling opts (from NQP) [6f087b06]
    • Treat .WHERE as a macro, just as .HOW and friends [a0a198dd]
    • Give “macro” DEFINITE same treatment as WHO and friends [62927745]
    • Give “macro” REPR same treatment as WHO and friends [971b2fa4]
  • Fixes:

    • Fix roast test failure caused by 1b46f7135b7776e779 [fbb967b3]
    • Rename Test’s exit-ok to exits-ok [24e6ff34]
    • MoarVM alignment fix for GCC 15.1/OpenSuse Leap 16 [fb0142fe]
    • Fix an inverted logic scenerio for $type_env [3babcc69]
  • RakuAST:

    • Fixup handling of =numtable [fcc0e185]
    • Allow for =table3 and friends in podification [f3ada07f]
    • Prevent execution error if no RakuAST [d1a33cd7]
    • Rename =restart to =counter [dc33497f]
    • Make rakudoc2text also take a ::CompUnit [81ea8224]
  • Internal:

    • MSI: Use $(var.VERSION) For Product Version Instead Of Hardcoded “1.0.0” [a9e53a05]
    • Update Copyrights To 2026 [e0797921][33652f14][6f69b3aa][fce89c25] [52995edb][c7e8ffb6][39d5610b][c4efa5f1][422e44d0][8676d9b4][5e10741c]

Extracted from the latest Draft Changelog.

Questions About Raku

Comments About Raku

Meantime on The Socials

Updated Raku Modules

Winding down

Dear USA friends & colleagues – on a personal note, I want to be sure you know that you are loved and embraced by the Raku community (I lived for a while in Colo. Spgs and SF), and that any negative view that we hold regarding D. Trump and his entourage is not intended as a general attack on the American people.

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

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

~librasteve

Leave a comment