It’s the time of the decade to be looking forward! 2020 will be the first full year of the Raku Programming Language. Yours truly predicts that more people will be using Raku in the twenties than ever before! That Raku will become faster and will have quite a number of features added. Please insert your own predictions here 🙂
Renaming Progress
- Sterling Hanenkamp reports that the Perl 6 vim plugin is now called vim-raku and that it has a new home
. (/r/vim comments)
- Mohammad S Anwar describes what they did to rename Perl 6 to Raku in the Weekly Challenge.
- Todd Rinaldo has completed the import of Raku RT tickets to Github. Although not strictly related to renaming, it is nonetheless a step forward! Many kudos to Todd Rinaldo for pulling this off!
- Aleks-Daniel Jakimenko-Aleksejev has been sending out invitations for the new Raku Github organization. Everybody who was part of the “Perl6” organization should have received an invitation. Accepting the invitation will make sure that any issues that you created, or responded to, will keep their ownership.
- Laurent Rosenfeld has made the source of the second edition of the Think Raku (née Perl 6) book available, which you can also read as a PDF. Comments, suggestions, corrections welcome as always, preferably as a Pull Request!
- Thanks to Mantvydas Lopeta, Raku is now listed as #98 on the TIOBE index. It is unclear if it was only the name in the index that was changed, or whether it is now looking for “The Raku Programming Language”.
Building Comma on the IntelliJ Platform
Jonathan Worthington will be giving a live Webinar about how they built Comma, the Raku IDE, on the IntelliJ Platform on 16 January 2020.
FOSDEM 2020
The previously announced Raku booth at FOSDEM (1/2 February 2020 in Brussels) will become a shared Perl + Raku booth organized by The Perl Foundation and community members. Also at FOSDEM, JJ Merelo will give a 20-minute presentation: Let me tell you about Raku in the Minimalistic, Experimental and Emerging Languages track.
German Perl/Raku Workshop 2020
From 2 to 4 March 2020, there will be the German Perl/Raku Workshop 2020, this time back in Erlangen. The call for presentations is open, so please submit your Raku presentations. It looks like yours truly as well as Jonathan Worthington will be giving keynotes.
At the 36c3 Perl and Raku Assembly
Herbert Breunung reports from the Chaos Communication Congress, and on manning the Perl and Raku booth there. It appears that Camelia works! With a comment by brian d foy.
Distress
Armin Ronacher has written a blog post about Open Source migrations titled “Open Source Migrates With Emotional Distress“. It doesn’t mention Raku, but it gives some insights into the process the Raku community is going through (r/rakulang, Twitter comments).
Class, Role and Attribute Accessor
Vadim Belman has written another insightful blog post about how a specific issue with role composition and accessor generation was solved by them.
Sparrow Progress
Alexey Melezhik has been busy over the Holiday Season and reported about his work in:
They also started a discussion about how to make it easier for module authors to have their modules tested against different operating systems and Rakudo versions. If you’re a module author, this is the time to participate in that discussion!
Traceable Features
Ben Davies is working on a Trait::Traced
module that would allow “tracing anything you can slap a trait on”. They’re inviting comments / suggestions, so please do mention it if you have an idea!
BASIC assembler
Mark Carter has blogged about converting a simple BASIC in ARM assembly. Still only a proof of concept, an interesting approach to creating an executable from Raku!
Weekly Challenge
A New Year’s Message from the Weekly Challenge Team. And two weeks of challenges to catch up to! Here are the Raku entries for Challenge #40:
- Multiple Arrays Content and Sublist Sorting by Laurent Rosenfeld.
- Multiple Fun with Arrays and Raku by Arne Sommer.
- Weekly Challenge #40 by Javier Luque
- Zip6 by Ryan C. Thompson.
- Raku solutions review Challenge #40 by Laurent Rosenfeld.
And the weekly champion was Noud Aldenhoven.
Here are the Raku entries for Challenge #41:
- Attractive Numbers and Leonardo Numbers by Laurent Rosenfeld.
- Attractive Leonardo Numbers with Raku by Arne Sommer.
- Weekly Challenge #41 by Javier Luque.
- Attractive Numbers and Leonardo Numbers by Ryan C. Thompson.
Challenge #42 is up for your perusal! And so is Mohammad S Anwar‘s Annual Report!
Core Developments
- Stefan Seifert fixed a lot of very complicated and obscure issues on the MoarVM backend, most of them related to the
NativeCall
interface in precompiled modules. - Vittore F. Scolari fixed an issue with unsyncable files on MacOS.
- Daniel Green fixed the scope of some variable declarations in MoarVM.
- Elizabeth Mattijsen changed all references to
perl
methods toraku
, and made theMu.perl
the fallback catcher (rather thanMu.raku
), and also renamed some other internals accordingly. And made the following features faster:lazy gather
(15%),emit
(30%),take
(20%),Str.raku
(1.5x to 100x),Mu.raku
(40%),Pair.raku
(15%). - Christian Bartolomäus fixed buffered input from a TTY on the JVM backend, which unbroke the
REPL
. They also fixed a bug infind_method_qualified
on the JVM backend. - Vadim Belman fixed smartmatching of
Array[Str:D] ~~ Positional[Str:D]
and fixed an issue with a method in a role overriding a public attribute in a class consuming that role. - Rod Taylor fixed a typo in an important link of the README and allowed
DateTime
to accept picosecond values. - And many smaller fixes and improvements.
Questions about Raku
- How to read this registry key? by Todd.
- Stopping Raku grammar at EOS (End of String) by hsmyers.
- How do you code a NULL with NativeCall by Todd.
- Raku syntax highlighting on Github by Andrew Shitov.
- Content checking some, not all, class attributes by Richard Hainsworth.
- Compatibility with Perl modules by lib20.
- How to I declare “LPTSTR” for Raku NativeCall? by Todd.
- How do I turn the Perl module Data::Printer’s `show_tied` option off when using it in Raku? by Ralph Mellor.
- What’s the grammar for a string? by blippage.
- Signatures smartmatching misunderstanding by jakar.
- Using automatically generated methods for public attributes vs creating methods for accessing private attributes by uzlxxxx.
- How to create a Capture dynamically by jakar.
- Raku NativeCall (LPTSTR) &lpMsgBuf? by Todd.
- Combining state and token throws. Why? by Holli.
Meanwhile on Twitter
- Is there a future? by Ludo Tolhurst-Cleaver 🐝🔶🇪🇺.
- I was picked! by Jo Christian Oterhals.
- Imagine! by magnoliak🍧.
- I didn’t know by 🔑おうか.
- What’s new by 志内 夢李(むりしな)/適当人間.
- Talk about by Shinji Kono.
- 100% compatible by Regular Expression.
- High level of productivity by Marc Chantreux.
- Enjoyed the Concurrency Series by Samuel Chase.
- Very Japanese by 1️⃣9️⃣.
- The coolest by こたつがめ.
- A family by Assignment Zones.
- Stopping! by Stack Overflow Hot Questions.
- Something similar to Ruby by Jo Christian Oterhals.
- Christmas Yak Shaving by JJ Merelo.
- Multi-column relationships by Fernando Correa de Oliveira.
- Not sure what’s attractive by Jo Christian Oterhals.
- And… by James A Barkley.
- More magic by Mohammad S Anwar.
- Crossed the 1000 mark by Mohammad S Anwar.
- What’s the deal? by theKNiCK.
- Seems completely renamed by Yoshiya/肩/Deno澤.
- Your first web app by The Perl Shop.
- Meanwhile by JJ Merelo.
- Thanks for your contributions by Elizabeth Mattijsen.
- Just learning about this? by Emily Strickland.
- The take we needed by Emily Strickland.
- Fun with Moose by Curtis “Ovid” Poe.
- Handled much better by David States.
- Will follow initiative by Elizabeth Mattijsen.
- Better than Duke Nukem by Roland Tepp.
- Ten months by Jonathan Stowe.
- Using Github Actions by JJ Merelo.
- Migrating from Perl by Meng Weng Wong.
- Ew by Not Jack.
- “Mu” by Vasudev Ram.
- More useful error by Joelle Maslak.
- Inclusive by Matthew Carter.
- All a special case by koh pack man.
- Bonne Année by Elizabeth Mattijsen.
- Freedom of expression by Joaquín Ferrero.
- Beautiful Disaster by Charlie Barto.
- Jumping out by dv 🐍⚙️🥢🐟🥩 🌮🌯.
- Missing by Elizabeth Mattijsen.
- Welcome! by Ismail Fahmi.
- A few notches by Jeyko Caicedo
- Parrot byte code by グレェ「grey」.
- Upcoming by H.Merijn Brand.
- The real thing by Dorian Taylor.
Meanwhile on Facebook
If you’re interested in developments there, go the Perl 6 group homepage.
Meanwhile on perl6-users
- Keywords in grammars by Alt Mcarter.
- How do I read registry key? by ToddAndMargo.
- Null and native call question by ToddAndMargo.
- My Native Call notes by ToddAndMargo.
- My Windows Modules by ToddAndMargo.
- NativeCall and C String question by ToddAndMargo.
- What is a LPCVOID, LPTSTR and a va_list *Arguments? by ToddAndMargo.
- NativeCall Doc booboo by ToddAndMargo.
- I need helping understanding a pointer example by ToddAndMargo.
- Play with raku and autobiographical numbers by Marc Chantreux.
- Retrofit built-in types with custom roles? by Stuart Hungerford.
- Global variables and modules question by ToddAndMargo.
- Request for Enhancement: Native Call error by ToddAndMargo.
- NativeCall bug: can’t find final ‘)’ by ToddAndMargo.
- Cardinals by ToddAndMargo.
- rakudo.org outdated? by Marc Chantreux.
- Working at FOSDEM by Andrew Shitov.
- OT: Git Hub repositories by ToddAndMargo.
- How to process command line options by David Santiago.
Comments about Raku
- Evangelists by Elizabeth Mattijsen.
- On refinement types by Ralph Mellor.
- RakudoFS by smitty1e.
- Nobody is paying attention by mntmoss.
- One can wish by Elizabeth Mattijsen.
- Wish granted by nudq.
- Mixing asynchronous data feed with synchronous program flow control by holli.
- Your Favourite Language by pcr910303.
- Rational numbers by ktpsns.
New Raku Modules
- CSS by David Warring.
- Algorithm::HierarchicalPAM by Itsuki Toyota.
- Homoglypher by Pawel Pabian.
Updated Raku Modules
- App::Mi6, Chart::Gnuplot by Itsuki Toyota.
- Math::Libgsl by Fernando Santagata.
- Kind by Ben Davies.
- Map::Ordered by Elizabeth Mattijsen.
- Sparrow6, Sparrowdo::Chef::Client, Sparrowdo by Alexey Melezhik.
- Gnome::GObject, Gnome::Gtk3, Auth::SCRAM by Marcel Timmerman.
- WebService::AWS::S3 by Brian Duggan.
- IO::Glob by Sterling Hanenkamp.
- Red by Fernando Correa de Oliveira.
- Time::Repeat by Arne Sommer.
- AttrX::Mooish by Vadim Belman.
- URL by Patrick Spek.
- Cro::TLS, Cro::HTTP, Cro::WebSocket by Jonathan Worthington.
Winding down
A good start of a new decade (yours truly adheres to the 0-index definition)! Yours truly hoped that skipping a week would not mean twice the work to make the next Weekly. It did. Ah well, it’s all a sign of a healthy community working on a unique project. About which more news next week!