Overview §
"Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community." - Larry Wall (circa 2000)
"I am in favor of this change [a community driven renaming from Perl 6 to Raku], because it reflects an ancient wisdom: 'No one sews a patch of unshrunk cloth on an old garment, for the patch will pull away from the garment, making the tear worse. Neither do people pour new wine into old wineskins. If they do, the skins will burst; the wine will run out and the wineskins will be ruined. No, they pour new wine into new wineskins, and both are preserved.'" - Larry Wall (2019)
The Raku community §
Online communities §
Online interaction takes place mainly on the Internet Relay Chat, IRC.
The #raku
channel was created in October 2019, and will become more active as it becomes the default channel. Eventually, connections to the #perl6
will be redirected to #raku
, but the historical logs will remain on the #perl6
channel. The #raku
channel on libera.chat
has a large presence with many developers, who are happy to provide support and answer questions, or just use it as a friendly place to hang out. Check out this IRC lingo resource for the abbreviations frequently used there.
StackOverflow is also a great resource for asking questions and helping others with their Raku problems and challenges. More resources can be found in the raku.org community page.
IRC bots §
The IRC channel has some very interesting bots. This is a full list with the name of the bot, a link to more information and a short description.
benchable (details)
An IRC bot for benchmarking code at a given commit of Rakudo. It can be addressed by its full name ('benchable6') or its short name ('bench'). It will run the given code five times and return the minimum amount of time taken.
bisectable (details)
This bot is meant to help you find when something got broken. If you want to know if something has ever worked use Committable instead.
bloatable (details)
An IRC bot for running bloaty on libmoar.so files of MoarVM. It can be addressed by its full name ('bloatable6') or its short name ('bloat' or 'bloaty'). It will run bloaty and pass one or more libmoar.so files from different revisions of MoarVM.
buggable (details)
RT queue search and utility bot.
camelia
Raku code evaluation bot. We use this for live testing of code that may be of interest to others; it chats back to the channel.
raku: my $a
will result in a test against the latest revisions of rakudo and niecza,nqp: say('foo')
will test nqp,std: my $a
will parse the expression using STD.pm6. For other compilers, trycamelia: help
.committable (details)
An IRC bot for running code at a given commit of Rakudo. It can be addressed by its full name ('committable6') or its short names ('commit', 'c').
coverable (details)
An IRC bot for creating a coverage report of the Rakudo (and NQP) source lines that were hit while running the code you give it. The first option is the commit, the second (optional) option is the filter for what lines of the MoarVM-generated coverage log you want, the third is the code to run.
Geth (details)
Announces commits made to various projects relevant to Raku, such as implementations of Raku and some of the repositories owned by Raku.
evalable (details)
Evalable is just Committable that defaults to
HEAD
.greppable (details)
An IRC bot for grepping through the module ecosystem. It can be addressed by its full name ('greppable6') or its short name ('grep').
huggable (details)
Let's you
.hug
people in the channel.ilbot (details)
IRC logging bot.
nativecallable (details)
an IRC bot for generating Raku NativeCall code from C definitions. It can be addressed by its full name ('nativecallable6') or its short name ('nativecall'). The bot is using
App::GPTrixie
to do the conversion.notable (details)
an IRC bot for for noting things. It can be addressed by its full name ('notable6') or its short name ('note'). There is also a “weekly:” shortcut.
quotable (details) An IRC bot for searching messages in the IRC log. It can be addressed by its full name ('quotable6') or its short name ('quote').
releasable (details)
An IRC bot for getting information about the upcoming release. It can be addressed by its full name ('releasable6') or its short name ('release').
As a user, you are probably only interested in its only command “status”. It tells when the next release is going to happen and how many blockers are there.
reportable (details)
An IRC bot for generating reports of changes in rakudo RT and GitHub issue trackers (which issues were resolved, updated, rejected, etc.). It can be addressed by its full name ('reportable6') or its short name ('report'). It takes snapshots of issue trackers periodically, and then you can ask it to generate a report for two given snapshots.
See also: Weekly, Monthly and Yearly reports
shareable (details)
An IRC bot for making rakudo builds produced by Whateverable publicly available. It can be addressed by its full name ('shareable6').
Note that the build will be located in
/tmp/whateverable/rakudo-moar/SOME-SHA/
. Also, as of today these files are only useful for you if you're on linux x86_64.SourceBaby (details)
Core source code locator
statisfiable (details)
An IRC bot that can gather stats across rakudo builds. It can be addressed by its full name ('statisfiable6') or its short name ('stat'). For most commands it will reply with a gist that has a graph and the raw data. Note that stats are cached, but it takes some time for it to generate the graph, so be patient.
synopsebot6 (details)
Creates links to the synopses and turns mentions of RT ticket numbers into clickable RT links.
tellable (details)
An IRC bot for passing messages to users who are currently offline. You can also use it to see when was the last time somebody talked.
undersightable (details)
An IRC bot for checking that important things are operating correctly (websites are up, bots are online, released tarballs are correct, etc.). It can be addressed by its fullname ('undersightable6').
unicodable (details)
An IRC bot for getting interesting information about Unicode characters. It can be addressed by its full name ('unicodable6') or its short name ('u').
PufferBot (details)
An IRC bot for testing builds of Rakudo on OpenBSD. It can be addressed by its full name ('PufferBot'). Talks only in raku-dev.
BeastieBot (details)
An IRC bot for testing builds of Rakudo on FreeBSD. It can be addressed by its full name ('BeastieBot'). Talks only in raku-dev.
Offline communities §
Raku is also a common topic at Perl conferences and Perl Monger meetings and other meetups. If you prefer in-person meetings, these are warmly recommended!
Other resources §
Camelia, the multi-color butterfly with P 6 in her wings, is the symbol of this diverse and welcoming community.
Rakudo Weekly §
Elizabeth Mattijsen usually posts in the "Rakudo Weekly" blog, a summary of Raku posts, tweets, comments and other interesting tidbits. If you want a single resource to know what is going on in the Raku community now, this is your best resource.
Historical articles (pre name change) can be found archived on the "Perl 6 Weekly" blog.
Raku Advent calendar §
The Raku community publishes every December an Advent Calendar, with Raku tutorials every day until Christmas. Previous calendars (pre name change) are still available and relevant.
Organization and assignment of days is done through the different Raku channels and the Raku/advent repository. If you want to participate, its organization starts by the end of October, so check out the channels above to keep up to date.