2020.47 Present Release

Alexander Kiryuhin again did all the hard work to create a new Rakudo Compiler release: the Rakudo Compiler 2020.11 Release! With a bunch of new features, such as new coercion semantics, support for the [|| ] and {|| } postcircumfix operators, a new is test-assertion trait for better error reporting during testing. Plus some efficiency improvements and quite a number of bug fixes and improvements.

Sadly, shortly after the release it became clear that some typical workloads seem to be affected by a noticeable performance regression. This appears to be caused by the new coercion semantics inadvertently disabling some runtime optimizations. Fixing this has now become a blocker for the next release. It just goes to show that in Raku, it’s important to first make it work, and then make it work fast. And that a lot of users are already relying on those runtime optimizations.

A history of Raku

Thibault Duponchelle has written an extensive history of the Raku Programming Language for a French Linux Magazine: Raku en 2020 (en Français, bien sûr). It is a trip down memory lane, but also gives an excellent technical overview of current Raku. Kudos to Thibault for the extensive research!

Porting from Go

JJ Atria has published another nice blog post, this time about their experience porting a helper program to Raku: Porting from Go. It even comes with a new module: Timer::Stopwatch!

New Coercion Semantics explained

Vadim Belman has written an extensive blog post about how the new coercion semantics came to be, and what they bring to the average (module) developer. And how “I can probably do it in a week or two!” turned into many month’s of work (/r/rakulang comments).

Advent getting closer!

It’s almost that time of the year again: Raku Advent Blog Post Time! Be sure to submit your ideas, or even better a PR with a completed Advent post to make sure there’s a slot available for you. Less than 10 left now!

From The Perl Foundation

Makoto Nozaki has published the TPF Meeting Minutes of the Board/Community meeting of last October.

Weekly Challenge

Weekly Challenge #88 is available for your perusal. Andrew Shitov did a full review of the Raku solutions of Challenge #84.

Core Developments

  • Nicholas Clark reduced some algorithmic duplicity in MoarVM, and fixed an issue with big integers not being handled correctly by the spesh thread.
  • Jonathan Worthington fixed an issue related to precompilation of modules that use NativeCall.
  • Stefan Seifert added some additional internal debug information for easier identification of common data structures.
  • Vadim Belman fixed some issues found with the new coercion semantics, in time for the 2020.11 release.
  • Peter du Marchie van Voorthuysen fixed some flattening issues with the sub version of push and unshift, made cas() about 15% faster and added some Windows-specific build instructions.
  • Christian Bartolomäus fixed some recently introduced issues on the JVM backend.
  • Patrick Böker tweaked the build process some more again, specifically on Windows, making it possible to build Rakudo on Windows with MinGW again.
  • Ben Davies made IO::Socket::Net.new only accept typed family/type/protocol values.
  • Elizabeth Mattijsen added a %*SUB-MAIN-OPTS<coerce-allomorphs-to> to have allomorph values automatically converted to non-allomorph values prior to dispatch to MAIN. They also added a deterministic method to Iterators indicating whether an iterator will always produce the same results given a set of input parameters. And fixed a few long-standing issues with REPL usage (and possibly replaced them by other issues).
  • Daniel Mita improved the rendering of attributes in Pod::To::Text.
  • And quite a few smaller fixes and improvements.

This week’s new Pull Requests:

Please check them out and leave any comments that you may have!

Questions about Raku

Meanwhile on Twitter

Comments about Raku

Useful code examples

It has come to the attention of yours truly that many people have a collection of useful Raku code examples stored as gists. Not quite enough to turn into a distribution for the ecosystem, but handy to know about anyway. If new gists are available, they will be listed in this section! So here we go:

New Raku Modules

Updated Raku Modules

Winding down

Being able to announce a new release is always cool. A nice set of blog posts this week, with an opportunity to brush up on your French 🙂 And an impressive number of core improvements. Pretty sure there will be more of them in next weeks Rakudo Weekly News about the Raku Programming Language! And please: stay safe and stay healthy!

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