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
#perl6-dev
channel on Freenode now also redirects (to#raku-dev
). This was done for#perl6
->#raku
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:
- Overlapping ranges and nobel numbers by Luca Ferrari.
- Stepping Winner with Raku by Arne Sommer.
- Stepping Numbers and Lucky Winner by Laurent Rosenfeld.
- Weekly Challenge #52 by Javier Luque.
- Stepping Numbers and Lucky Winner by Ryan J. Thompson.
- Weekly Challenge #52 by Mohammad S Anwar.
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 onRoutine
objects (such assub
andmethod
), 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. - Ben Davies fixed an issue when mixing in roles at runtime.
- And a number of smaller fixes, optimisations and other improvements.
Questions about Raku
- Difference between single pipe and double pipe in Regex (
|
Vs||
) by Tinmarino. - Preventing extreme memory usage by Theo van den Heuvel.
- Calling C-function from Raku by BenM.
- Odd Github Syntax highlighting by nubzzy.
- How to print an object, type in
nqp
by Tinmarino. - Learning material for FP with Raku? by ColdYetChilly.
- What is the difference? by Mohammad S Anwar.
- How to define port for each services in
.cro.yml
? by Mimosinnet.
Meanwhile on Twitter
- Even better with multiple dispatch by Jonathan Stowe.
- Better idiomatic solutions by Mohammad S Anwar.
- Let me tell you about… by JJ Merelo.
- The End by Alp.
- All elements numerically the same by Mohammad S Anwar.
- Skipping tests by Alexey Melezhik.
- Having some fun by Jahan.
- How to do it by Jonathan Stowe.
- Tomty Profiles by Alexey Melezhik.
- Continue to be missed by The Perl and Raku Conference.
- Another reason by mempko.
- As a different language by sogajapan.
- Bound to be bugs by Jonathan Stowe.
- Lucky winner solution by Mohammad S Anwar.
- A goody! by Jonathan Stowe.
- An author now! by JJ Atria.
- A collatz sequence by Herbert Bollermann.
- An integrated REPL by Jonathan Worthington.
- Worst fears by jrobens.
- Meant to die by singularity eve.
- What about Raku? by Elizabeth Mattijsen.
- Progression by Kang-min Liu.
- Still participating? by 中南精卫.
- Sorry by Didier Plaindoux.
- A better job by Bo.
- Better than PEG by VTpAS4Vuka6Op42.
- What it was like by Greg Hurrell.
Comments about Raku
- A problem in Perl by Brad Gilbert.
- Polymorphism, Composition, Delegation by Brad Gilbert.
- Something similar by earenndil.
- Gradually typed, but not fast by systems.
- Parse set-builder notation by Ralph Mellor.
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!