2022.41 On Your Phone

Jonathan Lane (aka Space MOOSE) blogged about their experience building Rakudo on Termux (an Android App) (/r/rakulang comments). Cool Stuff! This should probably be added to the Rakudo documentation somewhere!

Raku Documentation Team

It looks like the Raku Documentation Team will move the Raku Documentation site to a new layout / format, with a lot of nice features. Here’s a sneak peek! You can report any comments or issues about the new site. Exciting prospect!

Wenzel’s Corner

Wenzel P.P. Peppmeyer did not do what the instructor asked in Recursive Cinderella.

Elizabeth’s Corner

Elizabeth Mattijsen kicked off a future series of blog posts about App::Rak in It’s time to rak! (Part 1) (/r/rakulang comments), as a follow up to their presentation at the Raku Conference.

Steering Council

The minutes of the October 1st, 2022 meeting are available. With some interesting developments!

Did You Know?

That language version 6.e contains a .snip method on Lists, which can snip a List into two lists depending on smartmatching a value?

use v6.e.PREVIEW;  # needed when still on 6.d
my @a = "a","b","c",42,666;
.say for @a.snip: Str;  # ((a b c) (42 666))

All elements (smart)matching the given value from the beginning, will be part of the first list. And the rest of the values will be part of the second.

But you can actually provide multiple smartmatching targets, allowing for more than one snip!

use v6.e.PREVIEW;  # needed when still on 6.d
my @a = "a","b","c",42,666,"d","e",768,"f";
my @b = Str, Int, Str, Int;
.say for @a.snip: @b;  # ((a b c) (42 666) (d e) (768) (f))

Now, that’s all nice when you know how many snips there are going to be. Suppose you don’t know? Well, then you can use a lazy infinite sequence for targets!

use v6.e.PREVIEW;  # needed when still on 6.d
my @a = "a","b","c",42,666,"d","e",768,"f";
my @b = |(Str,Int) xx *;  # a lazy infinite list of Str, Int alternately
.say for @a.snip: @b;  # ((a b c) (42 666) (d e) (768) (f))

Sadly, this last example didn’t work in 2022.07. But it will work in the next release of Rakudo!

Check out the “did you know” registry, started by Wenzel P.P. Peppmeyer. Suggestions as Pull Requests welcome!

Weeklies

Weekly Challenge #186 is available for your perusal.

New Problem Solving Issues

New Pull Requests

Core Developments

  • Daniel Green returns to the front (welcome back!) with the proper implementation of nqp::ops for unsigned native integer comparisons, and a 10% faster implementation of conversion of native integer values to strings.
  • Elizabeth Mattijsen followed up on Daniel Green‘s work on nqp::ops by updating the unsigned native integer comparison operators in Rakudo.
  • Christian Bartolomäus fixed an issue with archetypes (introduced recently with a small metamodel API change) and fixed a another recent issue on the JVM backend involving scope exit handling with phasers active.

Questions about Raku

Meanwhile on Twitter

Comments about Raku

New Raku Modules

  • sourcery “Turn a sub / method call into file(s) / linenumbers(s)” by Elizabeth Mattijsen.
  • Clu “Clu (Command LookUp) helps you document your utility” by Kay Rhodes.

Updated Raku Modules

Winding down

Nice new modules, and updates to some very upstream modules! And don’t forget to think about your Raku Advent Calender blog post!

On this sad day, again an actual image from Ukraine from the TwitterVerse, to remind us all of the beauty of Ukraine, while fighting the Russian aggression. Слава Україні!  Героям слава!

In the meantime, please keep staying safe, keep staying healthy, and keep up the good work!

If you like what I’m doing, committing to a small sponsorship would mean a great deal!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s