Alexander Kiryuhin has again released a version of the Rakudo Compiler implementing the Raku Programming Language: the 2021.06 Compiler Release! A short list of new goodies:
- role generics when specifying role consumption and class inheritance.
- a
repl
sub that can be called from anywhere in your program. Foo.pick(**)
producing all values ofFoo.pick(*)
and repeating that ad infinitum.done foo
as a shortcut for doingemit foo; done
.
A very nice release again with many stability fixes as well!
Vadim’s Corner
Vadim Belman picked up blogging on their Advanced Raku for Beginners cycle:
- A long promised article about roles (re-introduction)
- Roles or When One is Many (meaty!)
- Did you know that… (/r/rakulang comments)
Wenzel’s Corner
Wenzel P.P. Peppmeyer was on a roll again this week with 2 blog posts:
- Matching nothing (/r/rakulang comments).
- Despotting
And tells us in a message to the “weekly:” bot on the IRC channel, that Discord was joined by an eval bot prototype for testing.
The Raku Conference
It’s less than 7 weeks now until The Raku Conference, the first ever conference entirely dedicated to the Raku Programming Language. Sadly, not yet an in-person conference, but an online one on the 7th of August 2021. You can still sign-up just to attend, or to submit a proposal for a presentation(until the 15th of July). And of course, you can also follow the Twitter Feed to keep up-to-date on developments (/r/rakulang comments).
Grant Voting
Both Grant Proposals of the May 2021 round, have been accepted by the Grant Committee:
- Raku Dispatch and Compiler Improvements by Jonathan Worthington.
- Persistent Data Structures for Raku by Daniel Sockwell.
Weeklies
Weekly Challenge #118 is available for your perusal. And this week’s “What’s everyone working on (2021.25)” as well.
Problem Solving
Datish
should have a.fmt
command and its formatter should be deprecated- Separate Community Resource pages
Please check out these issues and leave any comments that you may have!
Pull Requests
- Add back
Mu.perl
and tweakMu.raku
- Clarify sentence, fix typo
- Allow
Nil
to represent holes in sparse arrays - Allow
CTRL-c
to stop entry inREPL
- Introduce
[1,2,3]:Int
syntax - Test
mkdir
when parent was created but child fails - Implement
last
with value - Fix freezes caused by concurrently produced iterators
- Fix binary release
set-env.*
scripts with space in path
Please check these Pull Requests and leave any comments that you may have!
Core Developments
- Daniel Green has been working on parameterizing and simplifying the NQP and Rakudo build process on the MoarVM backend, depending on values provided by the MoarVM installation used. And made sure that renaming precomp files on Windows is tried multiple times before giving up.
- Nguyễn Gia Phong provided several fixes with regards to error reporting of
mkdir
. - Elizabeth Mattijsen introduced
.pick(**)
for an infinite number of random values, repeated from a set of values. And introduceddone 42
as a shortcut foremit 42; done
. And made signature destructuring with aJunction
throw an error (instead of silently doing the wrong thing). - Vadim Belman implemented role generics in role consumption and inheritance, allowing for
role R1[::T] does T { }
androle R2[::T] is T { }
. - Stefan Seifert fixed a race-condition that would cause an “emit without supply or react” error.
- raydiak restored Pod6 HTML entity support.
- Christian Bartolomäus fixed various issues on the JVM backend, some very recent.
- And various other smaller fixes and improvements.
Meanwhile, Jonathan Worthington has implemented support for default arguments, s///
and friends and prefix, infix and postfix hyper meta-ops in the RakuAST branch, which brought another 15 roast test-files to fully passing state!
Questions about Raku
- How to type-constrain the entries of a Raku function’s array argument? by grobber.
- Attempt to divide by zero when coercing
Rational
toStr
by lisprogtor. - Sequence of Raku program compilation and execution (maybe nested compile phases?) by Daniel Sockwell.
- Mutually recursive tokens cause a “method not found” error by Sean.
- Understanding pragmas by Daniel Sockwell.
Most questions are asked on StackOverflow: it appears we have now 500 people watching the “raku” tag on StackOverflow, which is pretty cool!
Meanwhile on Twitter
- Got to love Raku! by Simon Proctor.
- Not something by Aruneko@OSC21do.
- Getting there by Markus Holzer.
- Might help by Fernando Correa de Oliveira.
- What is Esperanto? by Dave Stagner.
- Supposed to be? by Tobias Lindaaker.
- Looking at the MAIN signature to getopt by Kang-min Liu.
- Voluntarily programming by Satnam Singh.
- Incorrigible by Satnam Singh.
- #117.2 in a tweet by Markus Holzer.
- 1037718, can anyone confirm? by Markus Holzer.
- Congrats! by JJ Merelo.
- New goodies! by JJ Merelo.
- #118.1 in a tweet by Markus Holzer.
- New talk submission: sigils! by Andrew Shitov.
Comments about Raku
- Building a UI from command-line by Olivier Mengué.
- Rewriting as a reduce? by Altreus.
- More potential by Olivier Mengué.
- Well designed without tokenization by Brad Gilbert.
- ArchWiki update
- Copying rational ideas by Brad Gilbert.
- Put noise by Daniel Sockwell.
- After switching by Brad Gilbert.
- Clearer with a bit of unicode mixed in by Brad Gilbert.
- Errors for common mistakes by Brad Gilbert.
New Raku Modules
- Astro::Utils by Tom Browder.
Updated Raku Modules
- p6doc by JJ Merelo.
- Cairo by Timo Paulssen.
- CompUnit::Repository::Tar by Nick Logan.
- octans by Andinus.
- Ddt by Bahtiar Gadimov.
- Terminal::UI by Brian Duggan.
- LibXML, PDF::Font::Loader, PDF::Grammar, PDF::Lite, PDF::Tags by David Warring.
- JSON::Stream, JSON::Stream, JSON::Stream, Pod::Test::Code by Fernando Correa de Oliveira.
- Text::CSV by H.Merijn Brand (Tux).
- Cro::OpenAPI::RoutesFromDefinition by Jonathan Worthington.
- Gnome::GObject, Gnome::Gtk3 by Marcel Timmerman.
- Data::Tree, Data::Tree, RakuRename, RakuRename by Stuart Little.
Winding down
With a little delay, this week’s Rakudo Weekly News is again a nice testament to the people using and developing the Raku Programming Language, its ecosystem and its community. And as always, stay vigilant, stay healthy and have a good time. Hope to see you all next week again!