Someone with the nick MicrowaveOven86 asked a question on /r/rakulang: What do yall use raku for? With some nice, insightful, revealing and funny answers. Maybe more answers can be given by the readers of the Rakudo Weekly News?
Raku Conference
New presentations since the last listing in the weekly:
- Pod::To::HTML2 and Collection by Richard Hainsworth
- Tools for making your scripts more user-friendly by Elizabeth Mattijsen.
See also accepted presentations so far. If you have a nice module, or a nice use of the Raku Programming Language, please consider doing a presentation! You have until the 1st of August to submit your proposal!
And please register if you plan to attend to allow for better resource planning!
Wenzel’s Corner
Wenzel P.P. Peppmeyer got poetic in Are you a Raku poet?
Steve’s Corner
Steve Roe tries to work out how Raku (and the raku Dan module specifically) may have some resonance with the Data Scientists community in: Is raku Dan RubberSonic?
Did You Know?
Did you know that you can use the method .none
(and friends) in a method call chain?
my \fib = 1, 1, * + * … ∞;
say so fib[^10].none.is-prime; # False
say so fib[^10].any.is-prime; # True
say so fib[5..9].one.is-prime; # True
A Junction
is a parallel value that whats to collaps into a single Bool
. Any method call to a definite Junction
will be forwarded to its members, coerced to Bool
and collapsed with the Junction
-type. The above any
-form is equivalent to:
say fib[^10].map(*.is-prime).reduce(&[||]);
Junctions
come in many forms and can make you code quite neat!
This week’s “Did you know” contributed by Wenzel P.P. Peppmeyer! Other contributions are welcome!
Weeklies
Weekly Challenge #175 is available for your perusal.
New Problem Solving Issues
- Does
-I
Directory Order Affect Whether Modules are Recompiled? - Alternate name for
MONKEY
pragmas - Function return types should also tell about the used assignment/container
New Pull Requests
- spesh: turn
div_i
intobrshift_i
for powers of 2 - Replace the
MVMROOT
‘s block argument with varargs - Add optional positional parameter to
archetypes
method - Make some enhancements to atomic integers (nqp)
- Add
IO::Path.under-version-control
method in 6.e - Set
$*DIED-NATURALLY
if exiting program without exception - Implement nominalizable transparency for definites
- Make some enhancements to atomic integers (Rakudo)
Core Developments
- Timo Paulssen fixed a few issues related to native unsigned integers in MoarVM.
- Vadim Belman made the
handles
trait lazy, fixed an issue with method object duplication, and some containerization issues in the metamodel interface. - Elizabeth Mattijsen fixed an issue with a lone “-” in
MAIN
argument parsing, and made smartmatchingDateTime
objects more sensible.
Questions about Raku
- Why no private multimethods?
- How to know in a
END
block whether the program died? - How to initialize attributes inherited in a sub-class?
- Does Raku provide the easy access to an object’s methods and properties that Smalltalk does?
- Best way to share docs?
- Checking whether signature accepts capture removes attribute values from invocant
- Are there any recommended Docker packages or VMs for starting with Raku?
- How to call a sub from a variable with the name of the sub?
Meanwhile on Twitter
- Mobile battery status by mennof.
- Depending on feature creep and interop by James Tucker.
- Might have started using it by Hideyuki Tanaka.
- More successful with a breaking change by Ralf Ahlbrink.
- Ok to include? by かぎりん.
- Comparable to a typeclass? by Felix.
- Trying to understand Raku roles by Felix.
- Compare times by Fernando Correa de Oliveira.
- Recommending? by 𝐂𝐓𝐎 (𝐂𝐡𝐢𝐞𝐟 𝐓𝐰𝐢𝐭𝐭𝐞𝐫 𝐎𝐟𝐟𝐢𝐜𝐞𝐫).
- Doing exploratory data analysis by JJ Merelo.
- Simply the best by Kriso.
- Whatever its name by Ollivier Robert.
- Sad it’s not Perl anymore by アキヤ.
- Fun to write by Fernando Correa de Oliveira.
- For the first time in 2017 by tison.
Meanwhile on the mailing list
- Rakudoc – make the naming consistent by Richard Hainsworth.
Comments about Raku
- Modern languages without char by Tomasz Wegrzanowski.
- Evolved into another language by Aman Khan.
- Should be replaced with Raku by q_q_p_p.
- Private vs public by Steve Roe.
- Languages with custom operators? by CDWEBI.
New Raku Modules
- under-version-control “Is an IO::Path under version control?” by Elizabeth Mattijsen.
- HTML::Entity::Fast “Encode / Decode HTML entities faster” by Elizabeth Mattijsen.
- Cookie::Jar “A minimalist HTTP user agent cookie jar” by JJ Atria.
- Terminal::Widgets “Basic TUI Widgets” by Geoffrey Broadwell.
- Test::ContainerizedService “Containerized services (such as databases) to ease writing integration test cases” by Jonathan Worthington.
Updated Raku Modules
- Geo::Geometry by Kevin Pye.
- Files::Containing, CLI::Help, App::Rak, highlighter, Lines::Containing, CLI::Version, Method::Also Array::Circular, as-cli-arguments, String::Utils by Elizabeth Mattijsen.
- CWT-Repository-Hash, Collection by Richard Hainsworth.
- API::Discord by Shuppet Laboratories.
- PDF::Tags::Reader, PDF::ISO_32000, PDF::Tags by David Warring.
- IO::Socket::Async::SSL by Jonathan Worthington.
- HTML::Tag by Márton Polgár.
- ML::TriesWithFrequencies, Data::Reshapers by Anton Antonov.
- Terminal::Print by ab5tract.
- Curry, Sway::Config, Sway::PreviewKeys, GtkLayerShell, T, Test::Run, PatternMatching, Pod::Contents, WebService::TMDB, JSON::Unmarshal, APISports::Football by Siavash Askari Nasr.
- App::Lorea, HTTP::Tiny by JJ Atria.
- Gnome::Glib, Gnome::GObject, Gnome::Gtk3 by Marcel Timmerman.
- Abbreviations by Tom Browder.
- Terminal::LineEditor by Geoffrey Broadwell.
- Algorithm::LibSVM by Itsuki Toyota.
Winding down
Good to see another crop of new modules and module updates!
This week’s image 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! ‘Rona is most definitely not over yet.
If you like what I’m doing, committing to a small sponsorship would mean a great deal!