Alexander Kiryuhin has just announced the release of the first Rakudo Compiler Release of 2021: 2021.02 which, among many other fixes and improvements, implements the .slice
method on Seq
s and adds support for passing multiple units to Date
/ DateTime
‘s .earlier
and .later
methods as the most visual additions. Kudos to Alexander for making sure all of this work comes together again!
More formatting goodness
Matthew Stuckwisch elaborates on the new Intl::Format::Unit
module, which puts Raku on the cutting edge of unit handling in the world. From a simple: format-unit 123 :unit<meter>
producing "123 m"
, to a format-unit 12345.6789, :unit<solar-radius-cubic-yottaliter-per-pound-square-millimeter>
producing "12,345.6789 R☉⋅Yl³/lb⋅mm²"
, it is all being supported by this excellent new module!
January Report
Jonathan Worthington has reported on their work on the Raku Development Grant in January 2021! It shows some of the complicated (and potentially nested) dispatch situations that can occur in the Raku Programming Language, and how they can be made faster (and of which some preliminary benchmarks show promising results).
Pheix CMS is β-released
Konstantin Narkhov reports that their Pheix Content Management System (written in Raku and using the Ethereum blockchain as a storage backend) has now entered public beta-testing.
Method-ish
Wenzel P.P. Peppmeyer continues their quest to augment core classes in Raku without burning your hands using the InterceptAllMethods module (which incidentally is also at the root of the Object::Delayed module).
The Course of Raku
In a post on I Programmer, Nikos Vaggalis introduces the “Complete Course of the Raku programming language” by Andrew Shitov to a more extended audience in The Course of Raku.
Raku Libhunt
It appears that LibHunt, a service that tracks people mentioning open-source projects and software libraries, is also tracking The Raku Programming Language. Not quite sure what that means just yet 🙂
FOSDEM videos
The Raku videos from the DevRoom at the online FOSDEM this year have become available:
- Imagining the Ideal Language for Writing Free Software by Daniel Sockwell (/r/rakulang comments).
- Programming Digital Audio Server (DAS) backend with Raku by Konstantin Narkhov.
- Sets Without Borders by Elizabeth Mattijsen.
- Surprisingly Unsurprising by Matthew Stuckwisch.
- A few patterns (and one antipattern) you might only see in Raku by JJ Merelo.
Please note that these videos do not play well on some browsers: a recent Chromium browser appears to be recommended for viewing these.
To found a foundation
Andrew Shitov has opened a problem issue about the idea of founding a Raku Foundation. A lot has been said in there already (/r/rakulang comments).
Weeklies
Weekly Challenge #101 is available for your perusal.
Pull Requests
- Add Code of Conduct and Incident Response Guide
- Fix possible GC upset caused by half-deserialized STables
- Always log the type coming out of an
nqp::decont
- Fix single item assigment at
List
creation - Implement space-delimited CLI arguments (S06; S19)
- Re-imagine xxxmap, makes
>>.
about 2x as fast
Please check them out and leave any comments that you may have!
Core Developments
- Stefan Seifert fixed an issue caused by a change in behaviour of
libuv
with regards to multiple active reads on an async socket. - Mikhail Khorkov fixed an issue in the optimizer with regards to the R-metaoperator.
- Elizabeth Mattijsen fixed an issue with calling
.new
on shaped arrays that caused a problem in the gisting of the result of a hyper on a shaped array. And fixed an issue with theMoarVM::SIL
module that would miss some cases of inlining, which in turn would cause test-flappers. - Daniel Green fixed a memory leak in the raku runner script.
Questions about Raku
- Why do different ways of calling Raku result in very different startup times? by Daniel Sockwell.
- Haskell-like pattern matching in Raku by Dincio.
- Instantiate a class, and update an instance variable in the constructor by camstuart.
- Support for
utf8-c8
issue [really shell quoting issue] by lisprogtor. - Cro service subscribing to data “in the background” general guidance by camstuart.
- The token of grammar doesn’t not hit the first occurences of a document but hits the similar following occurences by jeanpauldavidtzaban
- Question About Hash Binding in
EVAL
by JustThisGuy - What’s the protocol for calling Raku code from C code? by zentrunix.
Lock.protect
andcallsame
by user0721090601.- How to evaluate eagerly a sequence coming from
grep
in [really a.gist
issue]? by WhiteMist.
Meanwhile on Twitter
- A great article by Ralph Mellor by Michal Jurosz.
- Which module to prefer by Simon Proctor.
- For whipuptitude by Christopher Bottoms.
- Something not already done by Perl.Kiwi.
- A few patterns by JJ Merelo.
- What’s next by Bicherio.
- Hitting that part of the tutorial by Brian Wisti.
- Gazing at a butterfly by Simon Proctor.
- GSoC application good to go by JJ Merelo.
- Playing with others’ by Tony O’Dell.
- Awaiting the announcements in March by JJ Merelo.
- Not as popular as it deserves to be by Amir 🎹. Aharoni.
- Officially β-released 🎉! by Konstantin Narkhov.
- Easy to use N-M relationship by Fernando Correa de Oliveira.
- Where did you go? by smeghead.
- Do it! by Dr. Dylan Storey.
- In different genres by galdust.
- A usage example of Red by Fernando Correa de Oliveira.
- Getting rid of all the other ways by Kristian Köhntopp.
- Done some blogging by Simon Proctor.
Meanwhile on the mailing list
- Tip: upgrading Rakudo-star by ToddAndMargo.
^methods
doesn’t show all methods by Joseph Brenner.
Comments about Raku
- Metaoperators are relevant by Ralph Mellor.
- About
infix:<!?>
by Ralph Mellor. - A plug-and-socket pair by Ralph Mellor.
- Dealing with
else if
by ErrorIsNullError. - What Larry was trying to do by arunix.
- A language that can do everything by 0xbadcafebee.
- Most painful feature by jlofih.
- Those first Programming Languages by Ralph Mellor.
New Raku Modules
- HarfBuzz::Font::FreeType, HarfBuzz::Shaper::Cairo by David Warring.
- App::Heater by Joelle Maslak.
- Crypt::LibScrypt by Jonathan Stowe.
- Intl::Number::Plural, Intl::Format::Unit by Matthew Stephen Stuckwisch.
- IO::URing by Travis Gibson.
Updated Raku Modules
- octans by Andinus.
- Net::AMQP by Andrew Egeler.
- Trait::Traced by Ben Davies.
- Terminal::UI, Terminal::ANSI by Brian Duggan.
- HarfBuzz by David Warring.
- Red by Fernando Correa de Oliveira.
- Pakku::Spec, Pakku::RecMan::Client by Haytham Elganiny.
- EventSource::Client, Crypt::AnyPasswordHash, Audio::Liquidsoap, CheckSocket by Jonathan Stowe.
- Gnome::Gtk3, Gnome::Glib, Gnome::GObject by Marcel Timmerman.
- Raku::Pod::Render, Collection by Richard Hainsworth.
- fez by Tony O’Dell.
Winding down
New modules and updated modules, a compiler release and cool blog posts. And spring has started, at least at where yours truly lives. What else does one want? 🙂 Please continue to be safe and healthy. See you next week for another instalment of the Rakudo Weekly News.