The Cro Development team proudly announced version 0.8.7 of Cro, the set of Raku libraries for building reactive distributed systems, lovingly crafted to take advantage of all Raku has to offer. Sites such as raku.land and the IRC logs server beta run Cro in production. Check out all the fixes, improvements and new features such as async reverse proxying and improved warnings from rendering templates with undefined values.
FOSDEM 2022
Andrew Shitov has applied for a Raku DevRoom at FOSDEM 2022, which will be an online only event. Next week we should know whether it was accepted or not!
Generating a lot of frames
Andinus has written a blog post about Fornax (a collection of tools to visualize Path Finding Algorithms) called “Generating 4.8 million frames“, as part of a Computer Graphics Bachelor project.
Binary Regexes
Matthew ‘Stephen’ Stuckwisch was triggered by a question on StackOverflow, to revisit their ideas of what would be needed to allow regexes to be applied to binary data. Which resulted in quite a lot of useful links and discussion!
Grant Update
Daniel Sockwell has written two updates on the progress of the Persistent Data Structures Grant.
Data::Record’s Identity Crisis
Ben Davies is soliciting opinions about the future of the Data::Record module in: Annotations for the Complete Type.
That time of the year is coming closer!
Only a few weeks to go, and it’s Advent Calendar time again! Make sure you get a slot in this year’s Advent Calendar for the Raku Programming Language, by adding your blog post proposal to the preliminary list of authors and articles!
Weeklies
Weekly Challenge #139 is available for your perusal.
A new release manager, please
The Rakudo Team is still looking for someone willing and able to take on the role of the release manager of the upcoming MoarVM, NQP and Rakudo releases. You don’t have to be an ace programmer, or have intimate knowledge of the code base. The only thing you need is some time, and maybe some hardware to run tests, and be able to follow the Release Guide.
If you are interested in doing this responsible job, please make yourself known on the #raku-dev channel on Libera.chat. Your efforts will be greatly appreciated!
New Pull Requests
- New disp nativecall (MoarVM)
- New disp nativecall
libffi
azure hack - Update
MoarVM
release guide according to the actual release process - Fix
MVM_string_ascii_encode_substr
to use given offset value - Eliminate use of
nqp::attrinited
(NQP) - New disp nativecall (Rakudo)
- Add an
Any(iterable).infer
method - Add
Any(iterable).isa-all(type)
method - Add
Any(iterable).isa-any(type)
method - Add
Any(iterable).isa-none(type)
method - Replace
nqp::attrinited
with a descriptor-based approach - Raku on Windows
- Update
Rakudo
Release Guide to have actual information
Core Developments
- Daniel Green optimised memory usage in some bits of string handling, added JIT support for some not-so often used ops, made some ops inlinable and fixed a race condition in initial access to
enum
s. - Jonathan Worthington simplified return from frame handling.
- Stefan Seifert fixed a JITted return from a nested runloop, and fixed a race condition on initialization of dynamic variables.
- Christian Bartolomäus fixed an issue with how invalid input is handled on the JVM backend.
- Geoffrey Broadwell added support for
Terminal::LineEditor
in the REPL. - Daniel Sockwell improved the consistency of handling attempts to (re-)bind to read-only variables.
- Vadim Belman added the possibility to the
.^mro
method to request parametric or concrete roles to be included in the result. - Timo Paulssen optimized smartmatching on
Int
, thus speeding up smartmatching onenum
s with integer values. - Patrick Böker added checksums for release files.
- And some other smaller tweaks and fixes.
Questions about Raku
- Not wanting user to implement their own
EXPORT
by Fernando Correa de Oliveira. - Parsing binary files in Raku by WhiteMist.
- Easy way to generate infinite list of random numbers? by Julia.
- How can I stop Raku collapsing a list containing a single list? by Hives.
- A faster algorithm? by Suman Khanal.
- Cro Template as Object by Timothy Nelson.
Meanwhile on Twitter
- Wait ended 6 years ago by Georgios Magklaras.
- Does the job by Suman Khanal.
- Must. Not. Mention. by Wouter Verhelst.
- Go with it by Suman Khanal.
- You programmers, you cheat! by Moritz Lenz.
- A simple functional statement by Jonathan Stowe.
- Always fun by Michael Kohl.
- Did like the expressiveness by mvv.
- A joke too far by Másodlagos frissességű tokhal.
- Expecting a last method by Suman Khanal.
- Doing callback hell right by JJ Merelo.
- #139.1 in a tweet by Markus Holzer.
- What a moment! by Mohammad S Anwar.
Meanwhile on the mailing list
- Re: Perl 5 list assignment idiom by rir.
- Docs on docs.raku.org need automated build by Tom Browder.
Comments about Raku
- More good programmers by DonHopkins.
- Maybe for you! by eCa.
- On tokenizing by Ralph Mellor.
- After the debacle by throwawayapples.
- Meaningless whitespace by dash2.
- Built on top of a mop by jinpa_zangpo.
- Really fascinating by CDWEBI.
New Raku modules
- has-word “A quick non-regex word-boundary checker” by Elizabeth Mattijsen.
Updated Raku Modules
- CSS::Stylesheet, CSS by David Warring.
- IRC::Log, IRC::Log::Colabti, IRC::Log::Textual by Elizabeth Mattijsen.
- CBOR::Simple, RPG::Base by Geoffrey Broadwell.
- Gnome::GObject by Marcel Timmerman.
- Config::BINDish, Cro::RPC::JSON by Vadim Belman.
- Physics::Measure by Steve Roe.
- WebService::AWS::S3 by Brian Duggan.
- IO::Socket::Async::SSL by Jonathan Worthington.
- cro, Cro::Core, Cro::HTTP, Cro::TLS, Cro::WebApp, Cro::WebSocket by The Cro Team.
- Spreadsheet::Libxlsxio by Fernando Santagata.
- Game::Entities by JJ Atria.
- Structable by Samuel Gillespie.
- License::SPDX by Jonathan Stowe.
Winding down
A little bit of a quiet week, it feels, with only a single new module. But still nice to see that at least 13 people have released updated modules, one of them the new version of Cro! And again a thought provoking discussion this week. Check again next week for more Rakudo news. And it can’t be said enough: stay healthy and stay safe. See you then!