Christian Bartolomäus has fixed a long standing issue on the JVM backend: not having a proper representation for nqp::null . This special value is used a lot in Rakudo in hot code paths to indicate that something has not been initialized yet.

Because of the JVM backend not having that, many hot code paths in the Rakudo code had a special version for the JVM backend. This is now a thing of the past. With this change, Rakudo core developers need to worry less about (unintentionally) breaking the JVM backend. Which should make supporting the JVM backend easier as well. So kudos to Christian!

Conference Developments

Neil Bowers informs us that the Perl Toolchain Summit 2020 has been cancelled. The Dutch Open Source Event (aka T-DOSE) has been postponed to October.

The Perl and Raku Conference 2020 in Houston (23-27 June) is still going ahead as planned.

Additional COVID-19 perspectives

Andrew Shitov continued adding statistical perspectives to the Covid-19 Observer, all written in the Raku Programming Language. And in the meantine, Andrew found the time to publish Chapter 5 of their compiler book.

About the reduction operator

brian d foy liked the use of [eq] in an example by Brad Gilbert so much, that they wrote a nice blog post titled Reducing Comparison Operators.

Renaming Progress

The repl.it site is now supporting the Raku 2020.02.1 release but reports to be running 2019.03 release. But a simple say $*VM.version reveals the correct version (2020.02.1).

The repl.it site is now supporting the Raku 2020.02.1 release but reports to be running 2019.03 release. But a simple reveals the correct version (2020.02.1). The #perl6-dev channel on Freenode now also redirects (to #raku-dev ). This was done for #perl6 -> #raku months ago already.

channel on Freenode now also redirects (to ). This was done for -> months ago already. Many repositories on Github, such as nqp, nqp-configure and roast, have been moved to the Raku team by Aleks-Daniel Jakimenko-Aleksejev. Redirects are in place, but if you have links anywhere in your code, documentation or blog post, now is a good time to change them.

Weekly Challenge

The Raku entries for Challenge #52:

Challenge #53 is up for your perusal!

Other Core Developments

Daniel Green performed several optimizations in NQP related to boolification of lists and hashes.

Christian Bartolomäus also fixed backtraces on the JVM backend to always show the correct file and line number.

Will Coleda fixed a lot of issues in the NQP documentation.

Elizabeth Mattijsen introduced the is implementation-detail trait on Routine objects (such as sub and method ), and made sure that all subs and methods in core that are not for public use, are marked as such and thereby will not be shown in introspection (such as .^methods ). Elizabeth also made accessing native shaped arrays about 15x faster.

trait on objects (such as and ), and made sure that all subs and methods in core that are not for public use, are marked as such and thereby will not be shown in introspection (such as ). Elizabeth also made accessing native shaped arrays about 15x faster. Ben Davies fixed an issue when mixing in roles at runtime.

And a number of smaller fixes, optimisations and other improvements.

Questions about Raku

Meanwhile on Twitter

Comments about Raku

New Raku Modules

Termbox by José Joaquín Atria.

Ujumla, EventSource::Client by Jonathan Stowe.

Draw2D::Furniture by Tom Browder.

Updated Raku Modules

Sparrow6, Tomty by Alexey Melezhik.

Lumberjack::Application by Jonathan Stowe.

Gnome::Glib, Gnome::N, Gnome::Gio, Gnome::Gtk3 by Marcel Timmerman.

Kind by Ben Davies.

P5pack by Elizabeth Mattijsen.

Winding down

In a week inundated with Covid-19 news, hopefully this Rakudo Weekly News brings some feelings of normalcy. Yet, we cannot ignore events in the world: so stay safe, socialize online-only and stay healthy to read next week’s instalment. See you then!