Jonathan Worthington managed to publish a new version of the Comma Community Edition, a free version of Comma, the Integrated Development Environment for Raku. Available for Windows, Linux and MacOS (or as an IDEA compatible plugin), this new release adds many new features, such as a live grammar preview, a multiline REPL (Read Evaluate Print Loop), and a formatter with configurable spacing rules. And many other fixes and improvements! (/r/rakulang comments).
Getting Chatty in a Car
Damian Conway possibly gave their most fun and unusual interview in 2018 while commuting, elaborating on linguistic diversity and programming language innovation. Worth a watch at about 15 minutes (blogs.perl.org, /r/rakulang comments).
Season of Doc ideas
JJ Merelo makes sure we don’t forget that The Perl Foundation will be applying again for participation in the Google Season of Docs. And that they’re looking for technical writers to help with improving the Raku documentation. Check out the ideas so far and add your own with a Pull Request!
Great Dispatcher Overhaul
Jonathan Worthington has published a gist with their thoughts on unifying many aspects of the current implementation of MoarVM into a “dispatch chain” like mechanism (/r/rakulang comments).
Goss in Raku
Alexey Melezhik announced their Sparrowdo::Goss module that allows you to run goss scenarios remotely.
Testing a compiler
Andrew Shitov published Chapter 10 of their compiler book, about testing the compiler.
Remembering Jeff Goff
Wendy van Dijk uploaded some more pictures of Jeff, some by Chris Jack.
Renaming Progress
- Mohammad S Anwar updated the Weekly Challenge parser, so that you can now upload solutions using the
.raku
extension as well.
Weekly Challenge
The Raku entries for Challenge #58:
- Numbers and people lineup by Luca Ferrari.
- Compared Lineup with Raku by Arne Sommer.
- Compare Versions and Ordered Lineup by Laurent Rosenfeld.
- Weekly Challenge #58 by Javier Luque.
- Weekly Challenge #58 by Mohammad S Anwar.
- Weekly Challenge #58 by Shahed Nooshmand.
Challenge #59 is up for your perusal!
Other Core Developments
- Vadim Belman had the unfortunate privilege of reverting a sizeable amount of their work on dispatchers which, although it was an improvement feature-wise and technically correct, also caused a very significant (40%+) slowdown of some benchmarks. Fortunately, this slowdown nudged Jonathan Worthington looking into several dispatch related issues.
- Daniel Green made allocations of several data-structures use an FSA (Fixed Size Allocator), which allocates slots of a single size with zero overhead. They also did some minor NQP matching optimizations.
- Elizabeth Mattijsen improved the memory usage of the
List.reverse
method. - Ben Davies added a utility
Metamodel::ParametricRoleGroupHOW.parents
method. - Stefan Seifert made sure that timing-related stress tests are now opt-in by setting the RAKUDO_RUN_TIMING_TESTS environment variable.
- Jeremy Studer simplified the internal logic of
Kernel.signals
. - vendethiel made sure that
submethod
s will only be suggested in error messages if they are local to the class itself. - Claudio Ramirez created Rakudo packages for the Fedora 32 release.
- Moritz Lenz created a Rakudo Star 2020.01 Docker image.
- And a small number of fixes, optimisations and other improvements.
Questions about Raku
- User input with timeout doesn’t work as hoped sid_com.
- Dropping exceptions when a loop variable is used? by JJ Merelo.
- What is a better way to do
rotor
from the end? by lisprogtor. - Grammar with custom lexer by Konrad Eisele.
Meanwhile on Twitter
- An Ansible alternative by Alexey Melezhik.
- Creating a module from a template by JJ Merelo.
- It’s too late! by Scott Martin.
- Just learn it by Simon George.
- Sucking less by isomorphismes.
- Shaping up to be by Cut and Pastryarch.
- The freedom of metaprogramming by D.Aoki (Amamori).
- Written in itself by Programmer.
- Sort and remove duplicates by Mohammad S Anwar.
GLOBAL
symbol clash by برعي.Grammar::Tracer
in Comma by Jonathan Worthington.- Tracing variables and attributes by Ben Davies.
- Interest for
ed
in Raku? by CJMM. - Also did Perl, Python, Ruby and PHP by Mohammad S Anwar.
- Picking a card by Suman Khanal🇳🇵.
- Talking Raku? by vasundhar.
- A weird desire to implement
uuencode
by Jonathan Stowe. - Tricky single argument rule by برعي.
- Things like … by 黒羊はね.
- Bound to same container by برعي.
- On
GENERATE-USAGE
by برعي. - More than 50 lines of code by Marc Chantreux.
- Switched to Sparky by Alexey Melezhik.
- Slightly similar to … by Brandon Doyle.
- Unintelligible, non-dwimmy hyperoperators by Michael Zedeler.
- Before I knew it by けむ.
- Driving around in a car by The Perl Shop.
- R as in Raku by Suman Khanal🇳🇵.
- New goodies! by JJ Merelo.
- Per every commit by Alexey Melezhik.
Comments about Raku
- Add things to an existing parser by Brad Gilbert.
- Different words by Brad Gilbert.
- On transitioning by Brad Gilbert.
- I didn’t fit by brudgers.
- Pick at most 2 by Brad Gilbert.
- On a collision course by bobthecimmerian.
- Related features by Ralph Mellor.
- They took LSD by Torwald.
- Dynamic scope better than lexical scope by Ralph Mellor.
- One better by Ralph Mellor.
New Raku Modules
- Sparrowdo::Goss by Alexey Melezhik.
- Services::PortMapping by JJ Merelo.
- ReadWriteLock by Robert Lemmen.
Updated Raku Modules
- Sparrowdo::Cpanm::Github, Sparrowdo::RemoteFile by Alexey Melezhik.
- Gnome:N, Gnome::Glib, Gnome::Gtk3, Gnome::GObject by Marcel Timmerman.
- LibXML by David Warring.
- Test::Async by Vadim Belman.
- Trait::Traced by Ben Davies.
Winding down
Yet another week has gone by. Good to see plenty of stuff happening in a time when every day feels like any other day. Yours truly keeps repeating: stay safe, stay healthy, stay helpful. See you next week!