Damian Conway is back from sabbatical: in the second week of March, they will be giving some very interesting courses in Switzerland: Presentation Skills courses, redesigned language-neutral versions of the “API Design”, “Better Coding Practices” courses and a free half-day seminar on Raku on 12 March!
Damian usually only comes to Europe once a year, so this is also the opportunity for other event organizers to organize an event around that period: it will be much easier to persuade Damian to come to such an event if they don’t have to travel halfway around the world!
New infrastructure sponsors
Roman Baumer has the pleasure to announce that the Raku community has two new infrastructure sponsors: DigitalOcean and AWS! They join Atikon, who have been supporting Raku for a long time already. It is thanks to these sponsors that the Raku community has an online presence! So a thank you is definitely in place!
FOSDEM 2020
Stuart J Mackintosh (chairperson of The Perl Foundation) invites everybody to come to FOSDEM this weekend. To visit this awesome Open Source event, but also to visit the Perl and Raku stand! They explain it all in a blog post titled Perl and Raku at FOSDEM 2020.
Think Raku
As already mentioned a few weeks ago, the updated Think Raku book by Laurent Rosenfeld is available from Green Tea Press. But not only that! Luis F. Uceta has completed the Spanish translation as well: Piensa Raku (download)!
Zeco
Tony O’Dell has been working on an alternate Raku module ecosystem based on zef
. They introduce it in a blog post titled zef++ ecosystem. If you’re interested in contributing, please contact tony-o
on any of the #raku IRC channels!
Firkin
p6steve (no offence intended) has returned to blogging with Raku: the firkin challenge. In it they describe the ongoing development process of the Physics::Measure module in the ecosystem, and its relation to beer (lots of it).
Renaming Progress
Elizabeth Mattijsen changed the internal name of the language implemented by Rakudo from “perl6” to “Raku”. This caused some ecosystem problems, that were easily fixed by some Pull Requests made by Alexander Kiryuhin.
- Elizabeth Mattijsen also made the
$*RAKU
dynamic variable the leading runtime source of information about the language, and renamed thePerl
class toRaku
(thePerl
class is now a subclass of theRaku
class).
A story of collaboration
For some months Stefan Seifert has been working to improve Inline::Perl5
, the module which integrates Perl code into Rakudo. In particular, they’ve been finding (and fixing) bugs exposed when running multiple Perl interpreters concurrently. The “big picture” here is that Rakudo could become a better choice than Perl’s own “ithreads” to orchestrate multiple CPU-bound Perl compute tasks.
Last year Stefan hit a bug in Perl’s IO
module – loading IO::Handle
concurrently in multiple threads (each with their own interpreter) will cause compilation errors in other threads and in unrelated modules. They offered a patch to the Perl core code, which would have fixed this issue in future Perl releases.
Nicholas Clark (former Perl 5 maint pumpking) looked at this, figured that it wouldn’t be possible to backport it to existing Perl releases, and so started looking more closely at whether instead there was a way to patch the IO
module to fix the thread race. The problematic C code there was introduced in 2011 to fix a bug (involving the combination of IO::Handle
, <>
and the open
pragma). Nicholas found a different way to (ab)use the APIs to keep that bug fixed, whilst also avoiding the thread race, and tested on the few systems they had. But as IO
is a rather important module, it needed further testing, so Ricardo Signes (former Perl 5 pumpking) uploaded a trial release to CPAN, so that the automated CPAN testers could give it a thorough check.
No problems were found, and that code is now on CPAN as IO
1.42, and hence you can now upgrade Perl all the way back to 5.8.1 to fix this bug, allowing that Perl version to be called for threaded applications from Rakudo.
Another nod to Raku
Mark Carter appears to be writing an interesting blog post every week. This week it was I became a #perl 5 programmer by mistake (/r/perl, Hacker News comments).
More from Yusuke Wada
Yusuke Wada also got inspired enough to write another blogs post: this week about Gradual Typing in Raku (Japanese).
RakuDist
Alexey Melezhik provides some updates on their RakuDist project, announcing support for different Rakudo versions.
Weekly Challenge
The Raku entries for Challenge #44:
- Only 100, Please, and Make it $200 by Laurent Rosenfeld.
- From 100 to 200 with Raku by Arne Sommer.
- Weekly Challenge #44 by Javier Luque
- Only 100 Please and Make it $200 by Ryan C. Thompson.
Challenge #45 may be up for your perusal, but since Mohammad S Anwar is having some (unexpected) quality family time in India, it may take a little longer to actually arrive!
Core Developments
- Peter du Marchie van Voorthuysen fixed an issue with comparing two
Seq
‘s using theeqv
operator. - Elizabeth Mattijsen added a
Str.Version
coercer, so that you can now useVersion(Str)
in a signature to have an argument automatically coerced to aVersion
object. They also improved some error messages. - And some smaller fixes and improvements, mainly in preparation of the Rakudo 2020.01 compiler release.
Questions about Raku
- Rebless doesn’t work with inherited classes anymore by Arne Sommer.
- Split string at given positions by Markus Holzer.
- How can you write a supply with a dynamic throttle? by Ben Davies.
- String replacement with
.subst
in a for loop by Valle Lukas. - Time Warping Variable Initialization? by jakar.
- File extension by wsppan.
- Can subsets be exported? by uzlxxxx.
Meanwhile on Twitter
- Lots by Jonathan Stowe.
- On pure or effectful by Stéphane Payrard.
- Versions of Rakudo by Alexey Melezhik.
- Called Raku? by ンポロヒ.
- Using JSON by Rudolf Olah.
- Conquering! by minus9d.
- Compile or runtime error by Yusuke Wada.
- Progressive Typing by Yusuke Wada.
- More efficient grammar writing! by Jonathan Worthington.
- Last October by glassy.
- On the loose again! by Elizabeth Mattijsen.
- Updated by Sho 😋🍜🍺📱.
- Higher Order by Dr. Roy Schestowitz (罗伊).
- Data Science by German Perl Workshop.
- Fun! by Ivan Velichko.
- A better plan by Slava Pestov.
- Example of Raku module install customization by Alexey Melezhik.
- What if in toolbox? by RakuistIO.
- Something like… by Mitsuru SHIMAMURA.
- Marketing strategy by rst.
- Next iteration by Juan.
- On dev_hell by Ed Finkler.
- No LALR by Chase Saunders.
- Distinguishing by こたつがめ.
- Think Raku by The Perl Shop.
Meanwhile on Facebook
If you’re interested in developments there, go to the Perl 6 group homepage.
Comments about Raku
- On Tauthon by b2gills.
- Array manipulating code by sampo.
- Upgrades are hard by segmondy.
- Typed holes by Ralph Mellor.
- Gave up completely by Analemma_.
- Opening up a gap by chubot.
New Raku Modules
- Sys::HostAddr by Joelle Maslak.
- String::Fields by Elizabeth Mattijsen.
- Scalar::History by Markus Holzer.
- LogP6::Write::StackDriver by Rod Taylor.
Updated Raku Modules
- FindBin, FileSystem::Parent, FindBin::libs, ProcStats by Steven Lembark.
- Net::BGP by Joelle Maslak.
- Gnome:N, Gnome::Glib, Gnome::GObject, Gnome::Gdk3, Gnome::Gtk3 by Marcel Timmerman.
- Trait::Traced by Ben Davies.
- Test::Deeply::Relaxed, Getopt::Std, Shell::Capture by Peter Pentchev.
- Date::Calendar::Strftime by Jean Forget.
- PDF::Font::Loader, PDF::Class by David Warring.
- Term::Choose, Term::Choose::Util, Term::TablePrint by Matthäus Kiem.
- Net::DNS, Email::Mime by Rod Taylor.
- Auth::SASL by Sterling Hanenkamp.
- EventSource::Server by Jonathan Stowe.
Winding down
Alas, Alexander Kiryuhin is still putting the final touches on the 2020.01 Rakudo compiler release. And Jonathan Worthington is working on a Comma IDE release. Which means that next week, there will be a lot of news about new releases of the Raku Programming Language! And news about FOSDEM! See you then!