The first in-person event in a long time happened last week. Some of the videos are already available for viewing, others may still come (overview, /r/rakulang comments). These are the Raku related videos at time of publication of this Rakudo Weekly News:
- Raku -OFun for everyone by Daniel Sockwell.
- A Nailgun for Raku (lightning talk) by Daniel Sockwell.
- Raku for Beginners (tutorial) by Bruce Gray.
- Three Ways to Make Wrong Code Look Wrong(er) by Daniel Sockwell.
- Raku Navigator by Brian Scannell.
- Dispatches from Raku (lightning talk) by Daniel Sockwell.
- Ancient Code (in Raku) (lightning talk) by Matthew Stuckwisch.
Sadly, the video of Steve Roe’s raku::Dan – Re-Inventing the DataFrame is not available yet, but there are comments about it on /r/rakulang.
Finally, Corona is still a thing, as at least one attendee tested positive for Corona after the conference. So please continue to look out for your health!
An other presentation that has become available from a conference in Germany:
- Werda – der Geizhals Anwesenheitsmonitor by Maroš Kollár (German with English slides)
Anton’s Corner
Anton Antonov is on a Machine Learning roll this week, with 3 blog posts about new(ish) modules they wrote:
- ML::AssociationRuleLearning
- ML::TriesWithFrequencies (/r/rakulang comments)
- Data::Generators (/r/rakulang comments)
Steve’s Corner
Steve Dondley wrote an introduction to their new Menu::Simple distribution.
Wenzel’s Corner
Wenzel P.P. Peppmeyer investigates ways to output debug messages in a better way in Sinking Errors.
Did You Know?
That there is a very succinct way of specifying an integer value with a named argument?
say (:10times); # times => 10
The syntax is colon, followed by an integer value, followed by the name of the named argument (in this case “times”). Note that the parentheses are needed to prevent it from being interpreted as a named argument to say
.
The syntax exists because it could be considered more readable than the alternatives times => 10
or :times(10)
. And you can take this even a step further for more readability:
sub frobnicate(:st(:nd(:rd(:$th)))) { say $th }
frobnicate :1st; # 1
frobnicate :2nd; # 2
frobnicate :3rd; # 3
frobnicate :4th; # 4
Weird, isn’t it? Well, it is weird enough to actually make it to some of the core’s routines, such as subst
!
Weeklies
Weekly Challenge #171 is available for your perusal.
New Pull Requests
Core Developments
- Elizabeth Mattijsen made coercions up to 1.6x as fast, and made unsuccessful connect attempts with
IO::Socket::INET
fail, rather than throw. - Vadim Belman improved the fallback protocol so that the
handles(*)
andhandles(Role)
traits now work as expected with inheritance. - Stefan Seifert continued working on the RakuAST branch, such as supporting
$.foo
as method call syntax, fixing roles without signatures and other $?CLASS related fixes and supporting the “is
” trait on variables. This resulted in 482 roast files now fully passing.
Questions about Raku
- Recursively building nested hash from a simple array by Steve Dondley.
- Converting an array of lists to a hash by Steve Dondley.
- String invoking anonymous regex by dmc7z.
- What are
.first
and.return
when applied to subs? by zentrunix.
Meanwhile on Twitter
- Interpolation like by Monadic Systems LLC.
- Test-suite integrated by Konstantin Narkhov.
- A better solution by Fernando Correa de Oliveira.
- Talking about postmodern programming by JJ Merelo.
- Apparent heritage by Solomon Foster.
- Strongly type, but permissive by Simon Proctor.
- On two timestamps by Julia.
- Sweeet! by Salve J. Nilsen.
- Whither Raku? by Mark Gardner.
- Now with subsets! by Julia.
- #170.1 in a tweet by Mohammad S Anwar.
- That’s why I masked by Mark Gardner.
- Languages of the 2010s by Masayuki Hatta.
- What happened in the end by 어스름별.
Meanwhile on the mailing list
- An issue with capture markers by William Michels.
Comments about Raku
- Familiar to C++ programmers on Hacker News.
- Familiar to C++ programmars on Lobste.rs.
- Did not materialize by Sebastian Riedel.
- A replacement to Ansible? on LibHunt.
New Raku Modules
- ML::AssociationRuleLearning “Association Rule Learning (ARL) Functions [Wk1]” by Anton Antonov.
- Files::Containing “Search for strings in files” by Elizabeth Mattijsen.
- App::Rak “A CLI for searching strings in files” by Elizabeth Mattijsen.
- Acme::BaseCJK “More digits for more better” by Ben Davies.
- CLI::Version “add -V / –version parameters to your script” by Elizabeth Mattijsen.
- CLI::Ecosystem “Raku® Programming Language Ecosystem Inspector” by Elizabeth Mattijsen.
- Distribution::Resources::Menu “Navigate the files in the resources directory” by Steve Dondley.
- Net::Snapcast “Control Snapcast audio players” by Adrian Kreher.
Updated Raku Modules
- Menu::Simple by Steve Dondley.
- highlighter, paths, Lines::Containing, Ecosystem by Elizabeth Mattijsen.
- Font::FreeType, CSS::Font::Resources, CSS::Stylesheet, CSS::Properties, CSS::TagSet, LibXML, CSS::Selector::To::XPath, CSS, CSS::Module::CSS3::Selectors by David Warring.
- ML::TriesWithFrequencies, Data::Reshapers, Data::Generators by Anton Antonov.
- Email::Valid by Denis Kanchev.
- Test::Lab by Jake Russo.
- BinaryHeap by Peter du Marchie van Voorthuysen.
- Gnome::N by Marcel Timmerman.
Winding down
Wow, a nice crop of new modules! 🙂
This week’s image still inspired by Pride Month as well as to support Ukraine in their fight against the Russian aggression. Слава Україні! Героям слава!
In the mean time, please stay safe, stay healthy, keep up the good work! ‘Rona is most definitely not over yet, as experience shows.
If you like what I’m doing, committing to a small sponsorship would mean a great deal!