The past two weeks, while yours truly was taking a little break, have turned out so many new projects that one can only say this is an excellent beginning of 2021 for the Raku Programming Language. Which will hopefully turn out to be better for everybody than 2020 turned out to be. So let’s see what we have:
A Complete Course of the Raku Programming Language
Andrew Shitov has published part 1 called “Raku Essentials” of a complete course of the Raku Programming Language in 5 parts (original grant proposal). This course covers all the main aspects that you need to use in your daily practice: it explains the theory and offers many practical assignments. Part one contains 91 topics, 73 quizzes and 65 exercises. A great start!
Alternate content upload / delivery of Raku modules
Tony O’Dell and Nick Logan have published the first version of fez, an alternate way to register and upload Raku modules to the ecosystem. Still very much in development, it is exciting to see what is now materializing from the original grant request.
Another Raku ecosystem browser
JJ Atria and James Raspass have unveiled another online Raku ecosystem browser called Raku.land. Still a little rough around the edges, and not complete yet, but good to see something like this being developed in the Raku Programming Language itself (see source on Gitlab and /r/rakulang comments).
A new series of YouTube videos
Yanzhan Yang has returned with another series of YouTube videos. Such as an introduction to the Raku UI Playground and the Tiny Platformer game. But perhaps more interestingly, a weekly Raku Riddle Contest:
It’s great to see such nice online content being created! And of course, your participation will be much appreciated. A nice companion to the Weekly Challenge!
New blog posts
And a nice number of interesting blog posts in the post-advent season:
- Internal Redirection by Wenzel P.P. Peppmeyer
- Raku Performance and Physics::Unit by Steve Roe (/r/rakulang comments).
- A hard simple thing by Wenzel P.P. Peppmeyer.
Internationalization done right
Matthew Stuckwisch finally released a completely re-worked and re-imagined version of the Intl::CLDR module, which makes the Unicode CLDR (Common Locale Data Repository) easily accessible in the Raku Programming Language.
A Note of Caution
The Perl Foundation warns about a phishing attack against CPAN authors. Since this also applies to Raku module developers that upload to PAUSE, yours truly thought it appropriate to mention it in the Rakudo Weekly News as well.
- Stefan Seifert fixed an amazing number of smaller and bigger memory leaks in MoarVM that were detected by ASan, and fixed an issue that would corrupt the multi dispatch cache, and fixed a potential deadlock on role specialization.
- Timo Paulssen merged a large body of work of the past months on the MoarVM debug-server functionality.
- Nicholas Clark fixed some more issues on the Solaris OS.
- Elizabeth Mattijsen added the
is implementation-detailtrait on classes and roles, added a
Seq.slicemethod (long discussed), and made slicing arrays between 2x and 10x faster (and more correct with regards to nested indexes and use of adverbs).
- Patrick Böker fixed the problem of not being able to call external programs on Windows that have a space in their name.
- And quite a few other smaller fixes and improvements in the past 2 weeks.
The new Pull Requests:
- Refactor the C compiler probe code, and add a probe for
log()for negative values.
- On Solaris, get the ru_maxrss rusage with uv_resident_set_memory().
spawnprocasyncto use a separate arg for the program name (MoarVM)
- Cleanup the build system probes
spawnprocasyncto use a separate arg for the program name (NQP)
- Minor README corrections
- Change IO::Path.new(”) error message string
sechin terms of other NQP trigonometric functions.
- Prefer api sorting over version sorting
- Use less common names for installation shim arguments
spawnprocasyncto use a separate arg for the program name
Please check them out and leave any comments that you may have!
Questions about Raku
- How Do You Do File Locking? by JustThisGuy.
- Can’t Interpolate Variable In Another Namespace by JustThisGuy.
- Preserve attributes when copying a file by MorayJ.
- How to declare a function that accepts a typed array parameter by zentrunix.
- Can I not create nested packages within one? by JJ Merelo.
- What’s with the
my %h = :1xstyle syntax? by ganjaptics.
- Type constraints in recursion functions and classes by Momosinnet.
Nilto the end by Lars Malmsteen.
- Commaide killed by OOM when analyzing a file by S.Thiriet.
Meanwhile on Twitter
- Supporting SCM triggering by Alexey Melezhik.
- About 20 questions/month by JJ Merelo.
- Sparky as container by Alexey Melezhik.
- Rotate file periodically by Mikhail Khorkov.
- Writing a
gnuplotscript by 足立千鳥（工学系Vtuber).
- The slimmest image by JJ Merelo.
- New year’s hacks on the observer by Andrew Shitov.
- So cool by ULTROS_PROFESSIONAL.
==by Nicholas Basila.
- Still salty by Chris Cummings.
- Community driven by JJ Merelo.
- Slower now by Joelle Maslak.
- Still surprised by Elizabeth Mattijsen.
- Best way to advocate by k-mx.
- A solution using
Bagby Markus Holzer.
- Historical objects by Andrew Shitov.
- Renamed to
- Pipe-forward in Raku as well by k-mx.
- Quick solution by Markus Holzer.
- Helping the Github Action elves by JJ Merelo.
- New way to upload modules by JJ Merelo.
- Counting the DNAs by Markus Holzer.
- New LWP::Simple version by JJ Merelo.
- A new resource for learning Raku by JJ Merelo.
- A presentation about Raku by Silicon Valley Perl.
- Doesn’t look like by Ацм Ватанабэ.
- FOSDEM devroom program by perl-academy.
- Learning Raku in simplified Chinese by brian d foy.
- Raku Essentials introduction by Elizabeth Mattijsen.
- Using Github Actions for modules? by Jonathan Stowe.
- A book by Damian Conway? by José Lula da Silva.
- Self-hosted Sparky as CI? by Alexey Melezhik.
- It was only one-time by JJ Merelo.
Meanwhile on the mailing list
- Continuous testing by Richard Hainsworth.
- FYI – Raku grammar compile speedup with preceding surrounder syntax by Darren Duncan.
- One producer – multiple consumers problem by David Santiago.
- Concurrency of asynchronous events – input from multiple keyboards by Nathan Gray.
- NativeCall — size of data structure by Paul Procacci.
- Nativecall — Help with converting
wchar_t CArrayto something printable by Paul Procacci.
.needed by Richard Hainsworth.
- Nativecall – Callee filled static character array – CArray by Paul Procacci.
- LTA documentation page by Gianni Ceccarelli.
wheneverby Gianni Ceccarelli.
Comments about Raku
- On implicit parameter naming by Ralph Mellor.
- Why you didn’t hear about inline by Ralph Mellor.
- Super simple, super rich by Ralph Mellor.
- Nice write-up! by John Longwalker.
- Simpler than Unicode? by Ralph Mellor.
- Taking Python’s crown by betmatt.
- Answers to questions in hit-piece by Elizabeth Mattijsen.
- Allocations on the stack by Ralph Mellor.
- Typeglob abandoned by xiaoyafeng.
- Similar approach by trollerskates1.
- A riddle or two by Ralph Mellor.
- Active on IRC by drth4.
- An example of decline by collyw.
- A parallel version by Wenzel P.P. Peppmeyer.
- Easier than having to deal with bash quoting rules by Samuel B. Chase.
- On ease of reading by Ralph Mellor.
New Raku Modules
Updated Raku Modules
- Game::Amazing by Arne Sommer.
- Terminal::ANSI, Jupyter::Kernel by Brian Duggan.
- SuperMAIN by Claudio Ramirez.
- PDF::Tags, Font::AFM, PDF::Content, PDF::Font::Loader, PDF::Class by David Warring.
- App::Tasks by Joelle Maslak.
- Gnome::Gtk3 by Marcel Timmerman.
- zef by Nick Logan & Tony O’Dell.
- Raku::Pod::Render, Inform by Richard Hainsworth.
- NativeLibs by Salvador Ortiz.
- SDL2-ttf by Steve Schulze.
- PDF::Writer by Tom Browder.
- WWW, LWP::Simple by JJ Merelo.
- fez by Tony O’Dell.
Having a week off has done yours truly good. And it was a nice way to build up a good, fat first issue of the Rakudo Weekly News in 2021! Even though the end of the tunnel seems to be teasing us in the distance, it has become even more important now to stay healthy and stay safe. So please do! Looking forward to seeing you next week again with the next Rakudo Weekly News.