With the conference season coming, and missing the in-person events, Wendy van Dijk was inspired by yours truly to rewrite the lyrics to a Raku hymn (/r/rakulang comments). Here’s hoping someone will actually perform that real soon 🙂
Conference Season
The first in-person event in a long time, starts tomorrow (on the 21st of June) in Houston, TX with these Raku presentations. The second online Raku Conference (on 13-14 August) has published its Call For Presentations, so you can now submit a talk proposal!
Jonathan’s Corner
Jonathan Stowe elaborates on their realization that you can quite easily make Raku look like C++ (/r/rakulang comments). Well, to an extent, of course!
Did You Know?
The simple approach to swapping two arrays, doesn’t work:
my @a = 1,2,3; my @b = <a b c>;
(@b, @a) = (@a,@b);
say @a; say @b;
# []
# (\Array_5056320939752 = [[] Array_5056320939752])
This is because the first array on the left-hand side will slurp the right-hand side, which causes @b
in this example to become a self-referential structure (which is very hard to represent textually, hence the weird looking output), and @a
to become empty. There is a way to do this, by thinking of the left-hand side as the signature of a subroutine, and the right hand side as the arguments:
:(@b, @a) := (@a,@b);
say @a; say @b;
# [a b c]
# [1 2 3]
The :
prefix on the left hand side, makes :(@b,@a)
a Signature literal, to which the arguments (the right hand side) are bound with :=
. This process is called destructuring. There are many other situations where you can use this! Kudos to Fernando Correa de Oliveira for making yours truly remember.
Weeklies
Weekly Challenge #170 is available for your perusal.
New Pull Requests
- Make
&[max]
and&[min]
return LHS for ties - Fix precedence table ordering
- Fix URL
- Make unsuccessful
connect
fail rather than die - Todo failing test on Solaris
- Make
Iterable.hyper
|race
takeAny
as a default
Core Developments
- Elizabeth Mattijsen added a
bytecode-size
method toCode
objects (onMoarVM
only), that reflect the initial number of bytes used by thatCode
object. - Jonathan Worthington fixed the root cause of
DESTROY
methods not being run in some cases, which caused memory leaks in e.g. Cro and LibXML. - Stefan Seifert continued working on the RakuAST branch, adding full support for
EXPORT
subs and other precompilation features, which resulted in 464 roast files fully passing. - And some smaller optimizations and fixes.
Questions about Raku
- How does one create a Raku Grammar programatically (dynamically)? by user3134725.
lazy()
method not found inpolars::prelude::DataFrame
by Cory Grinstead.- Replace newline with literal
\\n
? by jubilatious1. - How to deal with exceptions in
IO::Socket::INET
? by zentrunix. - How does one create a
Code
object dynamically from a string? by user3134725. - How do I get a mandatory named parameter in
sub MAIN
? by zentrunix. - How should I bundle a library of text files with my module? by Steve Dondley.
- How does one manipulate the characters of a string based on case? by chenyf.
- How can I get unbuffered input to a program? by Steve Dondley.
- Succinct webserver one-liner? by uxer.
Meanwhile on Twitter
- Pushing for free software by UArk Computer Science & Computer Engineering.
- Activating highlighting in vim by Perl News.
- Nobody uses it by asan.
- What’s going on by いとじゅん.
- Formatting CSV files by いとじゅん.
- Foolhardy? by Chris Jack.
- PR merged! by JJ Merelo.
- Let it not be… by Anton Fonarev.
- Any and all we need by Becca Royal-Gordon.
- Rabid fans by Yossi Kreinin.
- Why would anyone do it? by Mohammad S Anwar.
- Multi-language FTW by JJ Merelo.
- Singly by Suman Khanal.
- Still missing feature by Marc Chantreux.
- Also in updated version by Elizabeth Mattijsen.
- Blessed and more by Mohammad S Anwar.
- Finding out about duality by Mohammad S Anwar.
- Why the name change? by Jenn.
- So much invested by JJ Merelo.
- A small explanation by Jonathan Stowe.
- Call for papers open! by The Raku Conference.
- On defer by Mohammad S Anwar.
Meanwhile on the mailing list
- Glade? by ToddAndMargo.
- Trouble returning a value from
sub
by Rock Bychowski. - Append to
Buf
question by ToddAndMargo. - Hex string to
Buf
question by ToddAndMargo. - Encode
$encoding
list ??? by ToddAndMargo. - My How To on Buffers by ToddAndMargo.
Comments about Raku
- On Deflationary Economics by Andy Weidenbaum.
- Unfortunate defaulting by svat.
New Raku Modules
- Mint “A double-entry accounting system” by Shuppet Laboratories.
- Lines::Containing “Look for lines containing a given needle” by Elizabeth Mattijsen.
- hyperize “Helper subs to hyperize iterables with defaults” by Elizabeth Mattijsen.
- Menu::Simple “Create, display, and execute a simple option menu on the command line” by Steve Dondley.
Updated Raku Modules
- CSS::Module, CSS::Grammar, CSS::Writer, CSS::Properties, CSS::Specification, LibXML, LibXSLT by David Warring.
- HTTP::Tiny by JJ Atria.
- Spreadsheet::XLSX by Jonathan Worthington.
- Red by Fernando Correa de Oliveira.
- Data::ExampleDatasets by Anton Antonov.
- Gnome::Gtk3 by Marcel Timmerman.
- Test::Lab by Jake Russo.
- Cro::CBOR by Geoffrey Broadwell.
- has-word, highlighter by Elizabeth Mattijsen.
Winding down
This week on time, but due to the (sadly, not unexpected) passing of Wammes Witkop, with grief to deal with.
This week’s image again is 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!
If you like what I’m doing, committing to a small sponsorship would mean a great deal!