This week saw the return of not one, but two long time contributors with an extended blog post after a 2 year hiatus: one of them technical, the other more philosophical. It’s great to see these types of blog posts happen again! Yours truly is happy that it didn’t turn out to be a Seven Year Itch!
Towards a new general dispatch mechanism
Jonathan Worthington returns with a large technical blog post about the problem of implementing all of the various dispatch capabilities of the Raku Programming Language in a more efficient way. The article goes into what dispatch actually means, and why it matters to make it as fast and flexible as possible, and its relation to the RakuAST work. The good news in this, is that most of the discussed features are actually already implemented. In short:
The work that remains is enumerable, and the day we ship a Rakudo and MoarVM release using the new dispatcher feels a small number of months away.
No pressure! (/r/rakulang comments)
Why bother with scripting?
Bart Wiegmans returns with a large, more philosophical blog post about the contrast between scripting and programming, between scripts and applications. And how this affects the preferred features of a programming language. About Raku:
a language can be introduced for scripts and some of those scripts are then extended into applications (or even systems), thereby ensuring its continued usage
Thought provoking! (/r/rakulang comments)
Get Started with Terminal-UI
Brian Duggan has published a nice introduction into their Terminal::UI module, which shows the remarkable simplicity with which one can create fully interactive terminal applications with the Raku Programming Language (/r/rakulang, /r/commandline comments).
A match for *
Wenzel P.P. Peppmeyer elaborates on a question asked on the #raku IRC channel (by new Raku user PimDaniel) on how to turn a Match
object into a lazy list: Raku is a match for * (/r/rakulang comments).
A Raku DevRoom at esLibre
JJ Merelo has been able to secure a Raku Devroom at the esLibre online event on 25/26 June 2021, one could argue to be the Spanish version of FOSDEM. The theme of the devroom is “A language for the 21st century“. Even though the most used natural language is Spanish, presentations in English will also be considered. So please, warm up your presentation ideas and submit them to JJ Merelo!
Raku Magic
Julia, a pretty recent Raku Programming Language aficionado, launched the idea of tweeting small pieces of Raku code for fun, relaxation and potentially profit! Just add your snippet, wait a little while, and it should then appear on Twitter! Yours truly could not resist!
Module documentation
About two weeks ago, Richard Hainsworth started a discussion about the documentation of Raku ecosystem modules, which was rekindled by Luis F. Uceta on /r/rakulang. Please leave any thoughts that you may have on the subject, either on the mailing list or on the /r/rakulang subreddit.
Raku documentation
Meanwhile, Alexander Kiryuhin has been working on a new version of the Raku Programming Language documentation web site (temporary URL). Although a lot of work has been done already, Alexander is specifically inviting your participation in the areas of JavaScript, to create a more immersive experience when looking at the documentation. Please check out the current issues that need solving before this could go live (/r/rakulang comments).
What’s everyone working on?
Daniel Sockwell stole an idea from other programming language communities: a free-form update on what people have worked on in the past week, with a focus on the Raku Programming Language of course. The first issue can be found on /r/rakulang, hopefully there will be many more to come!
Which scripting language should I continue to learn?
ItchyPlant asked that very question with regards to Raku vs Javascript vs PHP vs Python on /r/programming. With quite a few nice comments and suggestions, also in /r/rakulang.
7 Years of Raku performance improvements
Daniel Sockwell had their attention drawn to the benchmarks that H. Merijn Brand has been running for the past 7 years now (a subset of Text::CSV functionality).
RSC Meeting Minutes
Now that the Raku Steering Council has settled on more organized, bi-weekly meetings, it seemed like a good idea to actually write minutes of these meetings and publish them. These are the minutes of the RSC meeting on 6 March 2021.
Weeklies
Weekly Challenge #104 is available for your perusal.
Pull Requests
- Constrain C pointer serialization to sizes <=
INT32_MAX
- Introduce
CX::Returning
and use it to expose the payload of most control exceptions - [WIP] revised
USAGE
message with--help
Please check them out and leave any comments that you may have!
Core Developments
- Vadim Belman fixed a configuration issue on
AIX
. - Elizabeth Mattijsen fixed a recent regression in handling of
nodemap
/deepmap
/duckmap
if the block to execute contained anext
statement. - And quite a lot of work on the RakuAST branch by Jonathan Worthington and Elizabeth Mattijsen.
Questions about Raku
- Keeping default values for nested named parameters by Daniel Sockwell.
now
becomes slow in a 10 million iterations loop by chenyf.- How do I split a string on every character? by Julia.
- Updating a module in the Raku Ecosystem by user2145475.
- Finding locally compiled Raku modules by Richard Hainsworth.
- Can Raku avoid this Malformed UTF-8 error? by Steve Roe.
- No matching VM found when running Comma IDE on macOS by Håkon Hægland.
- What is the difference between using
Code.assuming
method and using an anonymousBlock
orSub
? by Daniel Sockwell. - Could not find File::Find on Windows 7 by Lars Malmsteen.
run('find .', :out);
not working on MacOS by Steve Roe.- Interpolate without creating a String context? by Daniel Sockwell.
Meanwhile on Twitter
- Pretty Cool by Minorities in STEM.
- Replaced by 2 function definitions by Julia.
- Interesting versioning scheme by danny mcClanahan.
- An opportunity to touch Raku by みゃみゅ玉子.
- I found a bug! by Julia.
- Pleading eyes by Julia.
- Geomethetic meandian by Smylers.
- Sometimes I wonder… by Paul Cochrane.
- Cat faces by Joaquín Ferrero.
- Heart of hearts by Julia.
- Branched off the same thing by James Lu.
- A long and frustrating day by Julia.
- Adding source to DrudgeBot by Julia.
- Is this better? by みゃみゅ玉子.
- So on top of things byTovervogel.
- Will make life easier by Fernando Correa de Oliveira.
- No indexing into strings by Julia.
- Spreading to multiple languages by 紅月さん@がんばらない.
- It’s the future! by Thomas Rodgers.
- Generating pi by Michael Schaap.
- An interesting turn by Bryce Adelstein Lelbach.
Meanwhile on the mailing list
- Working with a regex using positional captures stored in a variable by Joseph Brenner.
- “rule” declarator: Different results for ‘unadorned’ match vsunnamed/named captures? by William Michels.
- Working with a regex using positional captures stored in avariable by Moritz Lenz.
- Please create a Raku community channel by Richard Hainsworth.
- Objects,
TWEAK
andreturn
by mimosinnet.
Comments about Raku
- A language you might enjoy by mejutoco.
- No need for function coloring by cygx.
- Proposed what you describe by Ralph Mellor.
New Raku Modules
- Text::FriBidi by David Warring.
- App::RaCoCo by Mikhail Khorkov.
Updated Raku Modules
- Math::ThreeD by raydiak.
- Terminal::UI by Brian Duggan.
- HTML::Canvas, PDF::Content by David Warring.
- EuclideanRhythm, Util::Bitfield, EventSource::Server, License::SPDX, Pg::Notify, XML::Class, Linux::Fuser, WebService::Soundcloud, Oyatul, Audio::Sndfile, Unix::Groups by Jonathan Stowe.
- Gnome::Gio by Marcel Timmerman.
- zef by Nick Logan & Tony O’Dell.
- jmp by Nigel Hamilton.
- Collection-Raku-Documentation, Collection by Richard Hainsworth.
Winding down
Wow, what a Weekly! Good to see so many new users and new efforts to bring the joy of the Raku Programming Language to more people in the world! Hope you liked it. Meanwhile, stay safe and stay healthy for another instalment of the Rakudo Weekly News next week!