The announcements of presentations of the second Raku Conference on 13-14 August 2022, keep coming in. So far, the following presentations have been accepted:
- Welcome to the Raku Conference 2022
- The Raku Cup of Justice
- Postmodernism, futurism, and Raku
- Implementing Machine Learning algorithms in Raku
- Gradual Types for
Pandas
Tomtit
– Raku Task Runner- Raku Steering Council Q&A
- Looking for clues with
rak
But that’s not nearly enough yet! So please consider submitting a presentation proposal, if you are:
- a module developer, wanting more exposure for your module
- a user, telling about how you use Raku yourself
- a core developer, explaining newer or older core features
- or simply have a wacko idea that you need to talk about!
Formats are lightning talk (5 minutes), short presentation (20 minutes), presentation (45 minutes), tutorial, class and workshop.
Documentation Meetup
The minutes of the online meeting of the documentation team on 9 July, are online. You can always check the #raku-doc IRC channel for more information about the documentation effort.
Anton’s Corner
Anton Antonov continues to be on a roll yet again this week, with two blog posts:
Steve’s Corner
Steve Dondley went spelunking in their code with Rockin’ with Raku – A Detailed Walk Through of Code for Finding Specific Prime Numbers (/r/rakulang comments).
Wenzel’s Corner
Wenzel P.P. Peppmeyer was in search of truth this week in The truth is a hard problem as a response on Steve Dondley‘s post (/r/rakulang comments)!
Steven’s Corner
Steven Lembark has updated their slide deck from a 2016 presentation to Raku: Climbing a Tree – Refactoring FindBin::libs for Raku.
Did You Know?
That you can use map
as an alternative to grep
?
my @a = ^10;
say @a.grep: * %% 2; # (0 2 4 6 8)
say @a.map: { $_ if $_ %% 2 } # (0 2 4 6 8)
This is possible because a failed if
(or with
or elsif
or etc…) will return Empty
, which will cause the iterator to just skip that value. How can you check that? With do
!
dd do if 0 { } # Empty
As to why you would use map
over grep
? Well, map
‘s handling of Empty
is highly optimized, causing the same code with map
to be up-to 2x as fast as using grep
. But note, this only affects the overhead of iterating: if your code inside the grep
or map
is very expensive, you won’t see much difference!
Weeklies
Weekly Challenge #173 is available for your perusal.
New Pull Requests
Core Developments
- Vadim Belman optimized the coercion protocol using the new dispatch mechanism, resulting in up-to 3x as fast handling of simple coercions.
- Elizabeth Mattijsen implemented subroutine versions of the
head
,skip
andtail
logic on iterables (allowing them to be used with==>
aka the feed operator). And made the sub versions ofelems
andend
3x as fast for native arrays. - Stefan Seifert continued working on the RakuAST branch, without any immediately visible results (but looking very promising generally).
Questions about Raku
- Operator for 2’s complement arithmetic? by zentrunix.
NativeCall
to Rust FFICArray
Size Limitations – SegFault by Steve Roe.- zef can’t find
Math::Trig
by FirefighterShoddy641. - Is it possible to create subroutine signatures at run time? by Steve Dondley.
- What’s the minimum code required to make a
NativeCall
to themd_parse
function in themd4c
library? by Steve Dondley. - Looking for Guidance on getting
NativeCall
working with themd4c
library for converting markdown files by Steve Dondley.
Meanwhile on Twitter
- About the end by Massa Humberto.
- A little tutorial by Steve Dondley.
- Haunted by mess by Mugwump.
- Why did Parrot flounder? by Michael McThrow.
- Raku, with Python and R by JJ Merelo.
- Would be nice by Olaf Aalders.
- Stuck indefinitely? by Weekend Programmer.
- Postmodernism, futurism and Raku by The Raku Conference.
- An API to soccer by Siavash Askari Nasr.
- Interesting correlations by JJ Merelo.
- Waiting for an hour by JJ Merelo.
- It’s really odd by Bijan Parsia.
Meanwhile on the mailing list
- Confused after consuming hashish by rir.
- Using fez by Richard Hainsworth.
Comments about Raku
- On superpowers by Mark Devine.
- Failed at both by dragonwriter.
- Just a rename? by TylerH.
- On the new
COERCE
protocol by Matthew Stuckwisch. - Does not go to waste by Stefan Seifert.
- How is the Rakudo AST branch doing on the tests? by jed-mindloom.
- On a multi-decade experiment by Ralph Mellor.
- No knowledge of Raku by NetWallah.
- Rubs the wrong way by shagie.
- Finally woke up by orev.
- Playing with
.uniparse
by Sebastian Dorey. - Have you explored Raku? by Ralph Mellor.
New Raku Modules
- Text::Plot “A package for textual (terminal) plots” by Anton Antonov.
- FeiShuBot “Custom bot for feishu” by ohmycloud.
- APISports::Football “A Raku module for interfacing with API Sports Football” by Siavash Askari Nasr.
- Data::UkraineWar::MoD “Scrape and analyze Ukraine Ministry of Defense Data” by JJ Merelo.
- snip “Provide functionality similar to Haskell’s span” by Elizabeth Mattijsen.
- UK::Sort “Sorts by Ukrainian alphabet” by Andrij Mizyk.
Updated Raku Modules
- PDF::Class, PDF::Font::Loader, HarfBuzz, HarfBuzz::Font::FreeType, Cairo, HTML::Canvas::To::PDF, Text::FriBidi, PDF::Tags by David Warring.
- Ecosystem::Archive::Update, Rakudo::CORE::META, App::Raku::Log, highlighter, App::Rak, Files::Containing, paths by Elizabeth Mattijsen.
- Tree::Binary by Simon Proctor.
- App::Cal by Will Coleda.
- RakuConfig, Pod::From::Cache, Raku::Pod::Render by Richard Hainsworth.
- Log::Dispatch, JSON::Unmarshal by Vadim Belman.
- BinaryHeap by Peter du Marchie van Voorthuysen.
- Tomtit by Alexey Melezhik.
- PublicSuffix by JJ Atria.
Winding down
Wow, yet another nice crop of new modules! Keep them coming 🙂
This week’s image was made enjoying a small bike ride in the neighborhood. It is there to remind us to support Ukraine in their fight against the Russian aggression. Слава Україні! Героям слава!
In the mean time, please stay safe, stay healthy, keep up the good work! ‘Rona is most definitely not over yet.
If you like what I’m doing, committing to a small sponsorship would mean a great deal!