This week saw an interesting interaction between several Raku community members, discovering new ways of making the Raku Programming Language work for them. It all started with Wenzel P.P. Peppmeyer publishing a blog post called Low profile quoting which introduced the idea of an html
class that does the Associative
role, allowing for things like html<a>(:href<www.foo.bar>, html<em>('<person@domain.top>'), 'M&M')
, and using a ¶
term as an alternative to $?NL
.
This in turn was one of the inspirations for Steve Roe to write a Doing Some Funky HTML Sh*t with Raku, which introduces a §
term as a shortcut for Wenzell‘s html
class. This in fact creates a Raku idiom for writing HTML in code that is truly amazing (/r/rakulang comments).
In return, Wenzel P.P. Peppmeyer improved on that in Late early bound by introducing a pretty-print
sub. This in turn made guifa want to improve on that (by introducing a circumfix:«< >»
operator), and finding it impossible to do so. Which resulted in a problem solving issue: Terminal circumfix
token should have (optionally) higher precedence.
It’s great to see new imaginative uses of the Raku Programming Language!
Comma Complete Release Teaser
If you are a subscriber to Comma Complete, you already got the 2021.5 version of Comma, the IDE of the Raku Programming Language. For the rest of the world, Jonathan Worthington published this teaser.
May Grants
Two proposals for grants were submitted for the May 2021 round (/r/rakulang comments). The proposals are:
- Raku Dispatch and Compiler Improvements by Jonathan Worthington.
- Persistent Data Structures for Raku by Daniel Sockwell (/r/rakulang comments).
And in related news: Jonathan Worthington published their Grant Report for May 2021 (/r/rakulang comments).
Conference in the Cloud
The 2021 Conference in the Cloud is here, and tickets are still available! (8-10 June 2021, schedule, FaceBook). The following presentations are planned that are about the Raku Programming Language, or that touch aspects of it:
- Raku, the Big by Bruce Gray.
- Raku syntax I miss in other languages by Leon Timmermans.
- Discoverability and Composability: Writing an ECS for Fun and Profit by JJ Atria.
- Yes, we have that too: Functional programming in Raku by JJ Merelo.
- The irregularity of regular expressions by Jordan Adler.
- Making Life Better with Software by Joelle Maslak.
Daniel Sockwell is also looking for people wanting to do a Raku Birds of a Feather session. Looking forward to listing all the presentations and BoF session next week!
Weeklies
Weekly Challenge #116 is available for your perusal. And this week’s “What’s everyone working on (2021.23)” as well.
Problem Solving
The Problem Solving Repository was created a few years ago as a place to discuss more general issues in the Raku community. It’s still not working as smoothly as it could. But maybe if more people would have a look at the issues, that could help in resolving them and/or put in the work to actually create Pull Requests to implement proposed features.
Since there recently was a bit of activity there, your truly thought it’d be a good idea to highlight the problem solving issues that were posted in 2021 and which have not been resolved yet:
constant
for many identifiers in single declaration- The Raku Foundation
- The PS-process’ acceptance policy doesn’t match reality
:ignoremark
is overzealous- We (probably) need Rakudo specs
- Coercer methods for parametrised roles
- No literal syntax for sparse arrays
- Preserving / Accessing Raku IRC Log History
- Proposal:
q:thru/DELIM/
heredocs - There should be a (relatively easy) way to specify how to test for non-Raku dependencies
- Terminal
circumfix
token should have (optionally) higher precedence
Of course, older open issues are still open as well. If you have feedback on them, please do not hesitate to add a comment!
Pull Requests
- Close socket on async error during an async connection
- Assign the result of a
socket(2)
call immediately - Set
sc.idx
during deserialization to avoid costly lookup later - Simplify loop in optimizer’s incorporate_inner
- Micro-optimize the
sift_down
sub insorted_keys
- RFC for a
.pick(**)
candidate - Clean up sockets created by
IO::Socket::INET.new
on error - Add
⩶
and⩵
as unicode synonyms for===
and==
- Speed up setup of
NativeCall
subs and reduce memory usage
Please check them out and leave any comments that you may have!
Core Developments
- Jonathan Worthington made the allocation of worker threads smarter for smaller workloads, making some applications of
race
/hyper
up to 3x as fast. - Elizabeth Mattijsen fixed some edge cases with the
(+)
(.)
(&)
(|)
set operators, and made.grep(Regex)
and.first(Regex)
upto 40% faster.
Meanwhile, on the RakuAST branch, Jonathan Worthington has been busy again, by adding nodes for $<foo>=x
style captures, regex backreferences, handling of regex sigspace
, adverbs for m//
and rx//
, bringing the number of roast test-files that fully pass to 300!
Questions about Raku
- Any video of understanding
react
/supply
/whenever
? by Marc Chantreux. - Ranges in array slices by Athanasius.
- Difference between
!!!
and...
? by Julia. - Raku, where is the Perl’s
<>
? by user2925716. - Euler’s identity by tomasz.
- Raku vs. Perl, an unexpected result by user2925716.
- Dynamic variables,
CALLERS
, Scalars, and assignment by Daniel Sockwell. - What counts as an “outer list” for a
Slip
? by Daniel Sockwell.
Meanwhile on Twitter
- More chaotic by Julia.
- Fun porting by Julia.
- Sister moth by Elizabeth Mattijsen.
- Avoiding jokes by Oren Mazor.
- Fantastic way of playing with Raku by Joelle Maslak.
- New LiquidSoap docker image by Jonathan Stowe.
- Modified #114.1 solution by Suman Khanal.
- Like in Raku by Christopher Bottoms.
- Submission is open by The Raku Conference.
- 100% more by JJ Atria.
- Upgrade it! by Chris Simmons.
- Did it come out? by NUNOKAWA Masato.
- #116.2 in a tweet by Markus Holzer.
- #116.1 in a tweet by Markus Holzer.
- Traipsing through Raku land by JJ Atria.
Meanwhile on the mailing list
- Re: What’s going on with
given (junction) {when (value)...}
by yary. - Re:
File::Find
using a junction with exclude by Ralph Mellor. - Native union structure by Marcel Timmerman.
- is there a raku job site? by Theo van den Heuvel.
- “Conference in the Clouds” (and the Raku Study Group postponed) by Joseph Brenner.
Comments about Raku
- Missed the boat by my-tech-reddit-acct.
- Lexically scoped versioning by aanzeijar.
- Incoming Blizzard by Ralph Mellor.
- A bigger screwup by ivanhoe.
- Might as well release as… by stabbles.
- And the result is… by Ralph Mellor.
- Native support for co-routines on Wikipedia.
New Raku Modules
Thanks to Wenzel P.P. Peppmeyer for again making this a lot easier for yours truly.
- Doc::TypeGraph by JJ Merelo
- Sys::IP, Email::Valid by Denis Kanchev
- Date::Calendar::Bahai by Jean Forget
Updated Raku Modules
- Net::Ethereum by Konstantin Narkhov
- ECMA262Regex by Jonathan Worthington, Alexander Kiryuhin
- Intl::Fluent by Matthew Stuckwisch
- Prime::Factor by Steve Schulze
- LibCurl by Curt Tilmes
- App::IRC::Log, IRC::Channel::Log by Elizabeth Mattijsen
- TinyFloats by Geoffrey Broadwell
- BusyIndicator by Joelle Maslak
- IO::Socket::Async::SSL by Jonathan Worthington
- Game::Entities by José Joaquín Atria
- Config::BINDish, Test::Async by Vadim Belman
Winding down
Feels like a bit of a quiet week for yours truly, but still a lot to report on about the Raku Programming Language in this issue of the Rakudo Weekly News. Meanwhile, stay in good health and hope to see you again next week!