Elizabeth Mattijsen has published an introduction into the Raku Programming Language by means of the grep
functionality, called Don’t fear the grepper! (Part 1), the first of hopefully a long series of easy to read, yet in-depth exposition of Raku features. And they also published the second instalment of the It’s time to rak! series, about the rak utility.
Steering Council
The minutes of the October 15th, 2022 meeting are available.
Did You Know?
That you can check whether a key exists in a hash by using the :exists
adverb?
my %h = a => 42, b => 666;
say %h<a>:exists; # True
say %h<c>:exists; # False
But what if you want to check whether a key does not exist in a hash? A common error is to prefix the lookup with ! (prefix !). Fortunately, that comes with an appropriate error message nowadays:
my %h = a => 42, b => 666;
say !%h<a>:exists;
# Precedence issue with ! and :exists, perhaps you meant :!exists?
Indeed, the way to do this, is to put the negation into adverb itself! So:
my %h = a => 42, b => 666;
say %h<a>:!exists; # False
say %h<c>:!exists; # True
Check out the “did you know” registry, started by Wenzel P.P. Peppmeyer. Suggestions as Pull Requests welcome!
Weeklies
Weekly Challenge #187 is available for your perusal.
New Pull Requests
- Add
chown
op - Fix
nqp::objprimunsigned
handling of unsigned or sized integers - [JVM] Implement the objprimunsigned and objprimbits ops
- Don’t use integer in definite type parameterization
Core Developments
- Elizabeth Mattijsen fixed an issue with
snip
and an infinite list of cutting points. - Christian Bartolomäus made generics work with return types in signatures on the JVM backend.
Questions about Raku
- Why is parsing of aaaaabb not successful assuming the given grammar? by user3134725.
- Directly run compiled bytecode file? by _616_A.
Meanwhile on Twitter
- Until… by Brian Wisti.
- All oneliners by Massa Humberto.
- For filtering and generation by JJ Merelo.
- Fell off the planet by Krabby Koder.
- Superfun CI by Alexey Melezhik.
- Venice families by JJ Merelo.
- Talked for 5 minutes by Mark Gardner.
- Gathering ideas and comments by Alexey Melezhik.
- There you grep it by Elizabeth Mattijsen.
- Good to have by uzulla.
- Now with default options and classification by Elizabeth Mattijsen.
- A SparrowCI pipeline example by Alexey Melezhik.
- Somewhat away by Jonathan Worthington.
- End user extensions by Alexey Melezhik.
- That’s why different operators by Massa Humberto.
- Nothing like blog driven development by Elizabeth Mattijsen.
- Running ontop of several VMs by LinuxTus.
- Tools that need guarantees by Kay Rhodes.
- A compiler in Raku by Wim Vanderbauwhede.
Meanwhile on the mailing list
- JPEG meta-data timestamps by rir.
- Problem defining factorial operator in
.rakumod
file by Joseph Polanik.
Comments about Raku
- On representation polymorphism by Ralph Mellor.
- An alphadrome! by Sean.
- Find a small community by Daniel Sockwell.
- Had to hack on Windows by Heptite.
- Example dev room by esLibre 2023.
- Modifying verbs or clauses in Crossword Solver Help.
- On multiple dispatch ambiguities by Ralph Mellor.
- CPU usage with time by _616_A.
- On the
Capture
type by Ralph Mellor. - Perl / Koha conference by Andrii Nugged.
- Interesting loop by luuuzeta.
New Raku Modules
- Inline::J “Use the J programming language inside Raku” by 0racle.
- Wasm::Emitter “Emit the WebAssembly binary format” by Jonathan Worthington.
- LocalTime “A wrapper of class
DateTime
with varied formatters depending on time zone entry” by Tom Browder. - XDG::GuaranteedResources “Guarantees that a resource is present in the expected XDG Base Directory directory” by Kay Rhodes.
- DateTime::React “Be alerted when clock rollovers occur” by Matthew Stuckwisch.
- Intl::LanguageTaggish “A role modeling behaviors of a Language Tag” by Matthew Stuckwisch.
Updated Raku Modules
- PublicSuffix by JJ Atria.
- rak, App::Rak, as-cli-arguments, path-utils, Git::Files by Elizabeth Mattijsen.
- Cromtit by Alexey Melezhik.
- Gnome::N, Gnome::Glib, Gnome::Gio, Gnome::GObject, Gnome::Cairo, Gnome::Gdk3, Gnome::Gtk3 by Marcel Timmerman.
- Timezones::ZoneInfo, UserTimezone by Matthew Stuckwisch.
- SQL::Abstract by Leon Timmermans.
- orion by Andinus.
- Geo::Geometry, Geo::WellKnownBinary by Kevin Pye.
Winding down
Almost more new modules than updates! With some cool new stuff! And don’t forget to think about your Raku Advent Calender blog post!
This week’s picture is showing the beauty of a chestnut tree, to remind us of the beauty of Ukraine, still fighting the Russian aggression. Слава Україні! Героям слава!
In the meantime, please keep staying safe, keep staying healthy, and keep up the good work!
If you like what I’m doing, committing to a small sponsorship would mean a great deal!