Justin DeVuyst has released the 2022.02 version of the Rakudo Compiler. Some of the more interesting additions:
- Native unsigned integers have become first class citizens on all levels (up to 18446744073709551615, aka 64-bit resolution).
- Addition of
$*RAT-OVERFLOW
dynamic variable to govern overflow behaviour ofRat
s (upgrade toNum
,FatRat
,warn
ordie
). - Add an
Iterable.are
method to check if all elements in anIterable
match a type. - Creating
Complex
numbers about 30x faster.
But there’s just so much more. Check it out. All of the binary packages and containers have also been updated! And kudos to Justin for making the release happen again, and everybody involved in this super release that actually broke the speed record in the test-t canary.
Podlite 0.3.0
Alexandr Zahatski has released version 0.3.0 of Podlite, the open source desktop pod6 editor, and blogged about its new features (/r/rakulang comments).
Co-operating Grammars
Mike Clarke has written a blog post about how they managed to have multiple Raku grammars inter-operate for a custom language project at work. They seemed to have bumped into a not very well documented part of Raku: calling one grammar from another. With a little help from Moritz Lenz it all worked out!
Foundation News
Please contact Makoto Nozaki if you would like to become a mentor in the Foundation’s Outreachy effort. This would be your chance to give something back to the Raku Community, to grow the Raku Community and to improve the gender balance in the Raku Community!
A dream language
Magne has written a blog post about their idea of the ideal programming language, which made Brixes wonder if the Raku Programming Language could be moulded into that vision.
Steve’s Corner
Steve Roe published two blog posts this week:
- Raku on the M1 – up to 2.4x faster (/r/rakulang comments)
- Raku for yachting (about Physics::Navigation)
Wenzel’s Corner
Wenzel P.P. Peppmeyer wrote one blog post this week: Fuzzy commands.
Weeklies
Weekly Challenge #152 is available for your perusal.
New Pull Requests
- Remove incorrect text & non-compiling example
- Minor tweak to make xt/aspell’s output better/less verbose
- Remove temporary define for migrating Rakudo extops
- Make
&[max]
and&[min]
return RHS for ties - Improve error msg for traits passed invalid args
- Remove unneeded/confusing
can('prec')
checks
Core Developments
- Stefan Seifert fixed an issue with speshing of
NativeCall
for types other thanint
,long
andlong long
. - Christian Bartolomäus added the (
bind
|get
)lex_u_si
on the JVM backend. - Vadim Belman turned
Junction
s into value objects, so that they can be used inSet
s and.unique
with fewer surprises. They also changed the handling ofJunction
s in.classify
and.categorize
. - Daniel Green removed some (now) unnecessary
try
statements. - Elizabeth Mattijsen made
.chomp
take an optional target to remove from the end of a string. And did a lot of preliminary work on using unsigned native integers optimally within the Raku core. - Daniel Sockwell fixed an issue in
Parameter.nominal_type
. - And quite a few other smaller fixes and improvements.
Questions about Raku
- Escaping metacharacters in a Raku regex (like Perl’s
quotemeta()
or\Q...\E
)? by Daniel Sockwell. - What’s the point of Raku’s
mod
operator? by Daniel Sockwell. %_
and detecting unwanted named arguments to a method by does it matter.- Throw my own exception by Felix.
- How to generate a
DateTime
range by step of 5 minutes? by chenyf. - Why can’t pass a manually created
Pair
to method without a slip? by chenyf.
Meanwhile on Twitter
- Always interesting in seeing code by Jonathan Stowe.
- Changed its name? by てつを.
- Don’t hear much by GANBE.
- Reading can make one learned by Dr. Roy Schestowitz.
- Reverse, functional style by Felix.
- Simulating
|>
by Felix. - Super brilliant by Felix.
- Most popularly renewed by JJ Merelo.
- Running with a Raku harness by Solomon Foster.
- Not justifiable by Markus Holzer.
- Run jobs on a Sparky cluster by Alexey Melezhik.
- Already talked about it then by Stéphane Lavergne.
- Will it run Perl? by Pengy.
- Available packages by The King of Wrong.
- A Debugger for Raku! by JJ Merelo.
- Add validation for your META by Mikhail Khorkov.
- The most two’s and zeroes ever! by JJ Merelo.
- Test by adding pod at the end by JJ Merelo.
- Same like Airflow? by Alexey Melezhik.
- Easy way of writing test assertions by Siavash Askari Nasr.
- Container image updated by JJ Merelo.
- Trans goes go by Siavash Askari Nasr.
- Crypto in 50 lines by Zhuowei Zhang.
- Donated a long time ago by 結城 あゆむ.
Comments about Raku
- A spin-off language by Seth Kenion.
- Shape-shifting Ship of Theseus by Ralph Mellor.
- Inspired by Raku by Tomasz Wegrzanowski.
New Raku modules
- Protocol::MQTT “A (sans-io) MQTT client implementation” by Leon Timmermans.
- as-cli-arguments “stringify a Capture as command-line arguments” by Elizabeth Mattijsen.
- Auth::SCRAM::Async “Salted Challenge Response Authentication Mechanism” by Leon Timmermans.
- Dawa “A runtime debugger for Raku programs” by Brian Duggan.
- T “An easy way of writing test assertions which output good test descriptions and error messages” by Siavash Askari Nasr.
- Sparky-Job-Api “Api to run Sparky Jobs” by Alexey Melezhik.
Updated Raku Modules
- Crypt::TweetNacl by soundart.
- CSS::Properties, CSS::Font::Resources, HTML::Canvas, HarfBuzz , HarfBuzz::Shaper::Cairo by David Warring.
- Deepgrep, Point by Joshua Yeshouroun.
- shorten-sub-commands, Ecosystem, Rakudo::CORE::META, MIME::Base64, Ecosystem::Archive::Update, Identity::Utils, JSON::Fast::Hyper, IRC::Channel::Log, App::IRC::Log, App::Raku::Log, Benchmark,Test::Class, IRC::Client by Elizabeth Mattijsen.
- Net::Ethereum by Konstantin Narkhov.
- LR1 by codechurch.
- JSON::Fast by Timo Paulssen.
- Terminal::UI by Brian Duggan.
- Raku::Pod::Render by Richard Hainsworth.
- Gnome::N by Marcel Timmerman.
- IO::Socket::Async::SSL by Jonathan Worthington.
- Test::Script::Output, Pod::Load by JJ Merelo.
- Sparrow6, Sparrowdo, Sparky by Alexey Melezhik.
- Intl::CLDR by Matthew “Stephen” Stuckwisch.
As a side note, if you are on Twitter: @raku_new_module tweets about new and updated modules, not just on CPAN, but also on the zef ecosystem!
Winding down
A week in anticipation of the first Rakudo compiler release of 2022. And a few interesting blog posts. And some really nice modules, including an actual Raku interactive debugger! Cool stuff. See you next week for more news about the Raku Programming Language. In the meantime, stay healthy and stay safe!