Two days of just stuff about the Raku Programing Language at the second Raku Conference this weekend. Online only, alas. Hopefully in person next year! Ah, and if you would like to give a lightning talk, there’s still room for that! And don’t forget to register if you haven’t already!
Podlite server
Alexandr Zahatski, the author of Podlite (pod6 markup editor) announced Podlite-web, a lightweight starter for creating blogs/sites using nexjs and pod6 markup language (/r/rakulang comments). Intriguing usages and examples!
Anton’s Corner
Anton Antonov continues their work on Machine Learning, this week again with an extensive blog post, this time about Clustering analyses with the K-means and K-medoids algorithms, among many others! Good progress!
Did You Know?
That when you’re using a map
, you can return more than one value from the Callable
block?
$ say (^5).map({ $_, $_ + 1 })
# ((0 1) (1 2) (2 3) (3 4) (4 5))
Well, actually in this case, it’s still a single value, which happens to be a List
. However, you can really return multiple values, as long as you put them in a Slip
.
$ say (^5).map({ ($_, $_ + 1).Slip })
# (0 1 1 2 2 3 3 4 4 5)
A Slip
is a List
that automatically flattens into an outer List
(or other list-like container or iterable). You can also use the prefix pipe to create a Slip
. In the above example, that would be: |($_, $_ + 1)
.
Weeklies
Weekly Challenge #177 is available for your perusal.
New Problem Solving Issues
- Dependency hell in Raku
- Rakudoc Delimited Block Comments
- “Failure is Nil” and the anomalies this leads to
New Pull Requests
- [JVM] Necromance a cheaper (de)serialization
- Allow for
--no-foo
as alternative to--/foo
- Introducing
$*EXIT
and$*EXCEPTION
dynvars - [JVM] Tune Java in response to
nqp
‘s (de)serialization rewrite - Extract heap snapshotting logic into separate module
Core Developments
- Elizabeth Mattijsen made a lot of operators on unsigned native integers about 40% faster.
- Patrick Böker improved the
set-env.sh
script. - Vadim Belman implemented nominalizable transparency for definites.
- Madeleine Goebel updated a lot of copyright year references.
Questions about Raku
- A cheat sheet on memory profiling? by Jonathan Stowe.
- Cannot locate
SDL2.dll
in Rakudo by 8nt. - How to convert
Str
toenum
? by Jim Bollinger. - Does Raku have something like typeclasses? by amano-kenji.
- How can a attribute (which is a class) access the class to which it is an attribute? by Jim Bollinger.
- Docker with
libssl-dev
installed? by Jonathan Stowe.
Meanwhile on Twitter
- Thanks for bringing back by Mark L Devine.
- Rotor it! by Massa Humberto.
- Score: 5 points by Sheeeeepla.
- So many times in the past by Marc Chantreux.
- Trying by E7…..
- Recorded my talk by Chris Jack.
Meanwhile on the mailing list
- Something between
run
andqx()
? by Marc Chantreux.
New Raku Modules
- inode-dev-devtype “Provide inode / dev / devtype for older Rakudos” by Elizabeth Mattijsen.
- ML::Clustering “Package for clustering algorithms” by Anton Antonov.
- Dev::ContainerizedService “Uses containers to provide services (such as databases) to ease getting a local development environment set up” by Jonathan Worthington.
- allow-no “Provide
%*SUB-MAIN-OPTS<allow-no>
for older Rakudos” by Elizabeth Mattijsen. - sigpipe “Set up SIGPIPE correctly for CLI applications” by Leon Timmermans.
- DB::Migration::Declare “Specify database migrations using a Raku DSL” by Jonathan Worthington.
Updated Raku Modules
- ML::TriesWithFrequencies, Text::Plot, Data::Reshapers by Anton Antonov.
- PDF::Content, Pod::To::PDF::Lite by David Warring.
- Test::ContainerizedService, Data::TextOrBinary, Badger by Jonathan Worthington.
- HTTP::Tiny by JJ Atria.
- from, CLI::Version, CLI::Ecosystem, Files::Containing, App::Rak, Git::Blame::File, String::Utils Elizabeth Mattijsen.
- Gnome::N, Gnome::Glib by Marcel Timmerman.
- Sparrow6, Sparky, Sparrowdo by Alexey Melezhik.
- Distribution::Builder::MakeFromJSON by Stefan Seifert.
- Collection by Richard Hainsworth.
- Crypt::TweetNacl by soundart.
- License::SPDX, Linux::Fuser, Acme::Insult::Lala, Lumberjack::Dispatcher::Syslog, Cro::HTTP::BodySerializerJSONClass, RPi::Device::PiGlow, Pg::Notify, NativeHelpers::Array, Audio::Hydrogen, Igo, Manifesto, Audio::Playlist::JSPF, Lumberjack::Message::JSON, App::ModuleSnap, MQ::Posix, Monitor::Monit, XDG::BaseDirectory, Staticish, EventSource::Client, Audio::Liquidsoap, Crypt::SodiumScrypt, Printing::Jdf, Audio::Libshout, Lumberjack::Config::JSON, Tinky::JSON, Audio::Icecast, Tinky, Object::Permission, FastCGI::NativeCall::Async, Oyatul, Device::Velleman::K8055, EuclideanRhythm, JSON::Name, Ikoko, Audio::Fingerprint::Chromaprint, Audio::PortMIDI, Audio::Convert::Samplerate, Doublephone, MessagePack::Class, Util::Uuencode, JSON::Class, Crypt::LibScrypt, Crypt::AnyPasswordHash, Lumberjack, Kivuli, URI::Template, Audio::Sndfile, XML::Class, RedX::HashedPassword, Log::Syslog::Native, Tinky::Declare, AWS::SNS::Notification, WebService::Soundcloud, Ujumla, IO::Path::Mode, JSON::OptIn, Audio::PortAudio, CheckSocket, Cro::HTTP::BodyParser::JSONClass, Util::Bitfield, Linux::Cpuinfo, Chronic, Crypt::SodiumPasswordHash, Attribute::Lazy, Audio::Silan, Lumberjack::Dispatcher::EventSource, Test::Util::ServerPort, URI::FetchFile, Object::Permission::Group, LibraryCheck, FastCGI::NativeCall::PSGI, Lumberjack::Application, JSON::Infer, Unix::Groups, AccessorFacade, GDBM, JSON::Marshal, EventSource::Server, Sys::Utmp, Test::META, Audio::Encode::LameMP3, RPi::Device::DS18B20, FastCGI::NativeCall, UNIX::Privileges, Sys::Lastlog, Crypt::Libcrypt, META6, RPi::Device::SMBus, CustomImporting by Jonathan Stowe.
- App::Prove6 by Leon Timmermans.
- AttrX::Mooish by Vadim Belman.
Winding down
A record week in Raku module land! Quite a number of new modules, and updates (with Jonathan Stowe updating and moving all of their modules to the zef ecosystem!).
This week’s image background again there to remind us to support Ukraine in their and our fight against the Russian aggression. Слава Україні! Героям слава!
In the meantime, please stay safe, stay healthy, keep up the good work!
If you like what I’m doing, committing to a small sponsorship would mean a great deal!