Yes, the Perl 6 Weekly is back. If there is one thing yours truly has learned, that it is not a good idea to skip 2 issues. Once, in the past, maybe. But nowadays, it just almost gets too much to process while writing the weekly. And probably to read as well. Well, hoping not too much was missed in the past 3 weeks, let’s go!
PerlCon in Riga
The Riga video team has not found the time yet to create separate videos of the presentations yet. There are full days streams available though:
A number of participants have already posted reports of the event:
- PerlCon in Rīga by José Joaquín Atria.
- The PerlCon 2019 conference in Rīga behind the scene by Andrew Shitov (Reddit comments).
- PerlCon Riga 2019 by Kang-min Liu.
- PerlCon Europe 2019 by Dave Cross.
- PerlCon 2019 in Rīga (Reddit comments) and Topic Analysis of PerlCon 2019 talks by Thomas Klausner.
- The PerlCon 2019 Riga – Report by Mohammad S. Anwar.
Swiss Perl Workshop Videos
Thanks to Lee Johnson, the videos of the Swiss Perl Workshop 2019 have become available. These are the ones with Perl 6 content:
- Demythifying Perl 6 by Elizabeth Mattijsen.
- Perl 6, a language to rule them all by JJ Merelo.
- Producing Perl 6 books with Perl 6 by JJ Merelo.
- Consistency & Interpolation by Elizabeth Mattijsen.
- Containers versus References by Elizabeth Mattijsen.
- Pheix: Perl6-based CMS with data storing on blockchain by Konstantin Narkhov.
- Bringing Perl 6 to Generation Z by Boris Däppen.
August Squashathon
Luis F. Uceta has become the winner of this month’s Documentation proofreading Squashathon. Thanks to all other participants: better luck winning a plushy Camelia next time!
Second tutorial: Fun with objects
David Cassel posted his second Perl 6 tutorial: Fun with Objects. It feels there is a Big Bang Theory reference somewhere in there.
Trials and Tribulations
Madeleine Goebel published two updates on her GSOC project:
It is really good to see so much progress on a feature that could well become one of the unique selling points of Rakudo Perl 6!
D&D Rolls in Perl 6
Tyler Limkemann went out playing and came back with a very nice blog post about rolling dice (/r/perl6, /r/programming, /r/geek, /r/perl comments). He also created a very nice Unicode character property lister (Reddit comments).
Still stun me all these years later
Aaron Sherman looked at a JSON grammar and felt his head spin. He also used this opportunity to create a guide for other programming languages wanting to implement Perl 6 regular expressions (Reddit comments).
Dollar signs will not kill you
A rather interesting interview with Alan, user of obscure languages (Reddit comments).
Docker builds are your friend
Sterling Hanenkamp took his new blog for a spin with “Multi-stage Docker builds are your friend“. It shows how it helps him build a single end-product that’s uncluttered by extra build configuration and tooling.
Hilbert with Cairo inside GTK
Timo Paulssen got adventurous and live coded a Hilbert curve with Cairo inside of GTK.
Not A Dialect
Aaron Sherman explores the differences between Perl 5 and Perl 6 with excellent linguistic research and examples (Reddit comments).
Forest fire numbers
Aaron Sherman also did a little challenge of his own with “Fun little challenge: Forest Fire numbers“. One could wonder whether a submission for the Perl Weekly Challenge wouldn’t have been a better idea.
Electric Boogaloo
Jeff Goff posted another blog posts on templating in Perl 6 called “Templates II: Electric Boogaloo“.
Expanding .perl
Finally, Aaron Sherman started a re-evaluation of the .perl
method, which resulted in a problem solving issue.
Perl Weekly Challenge #19
Blog posts with Perl 6 solutions for Challenge #19:
- Word Wrapped Weekends, Perl 6 Edition by Arne Sommer.
- Greedy expression of the best months – Perl weekly challenge 19 by Francis Whittle.
- Perl 6 small stuff #21: it’s a date! …or: learn from an overly complex solution to a simple task by Jo Christian Oterhals.
- Perl Weekly Challenge: Week 19 by Jaldhar H. Vyas.
- Perl Weekly Challenge # 19: Weekends and Wrapping Lines by Laurent Rosenfeld.
- Perl Weekly Challenge 19 by Roger Bell West.
Damian Conway repeated his look back on the challenge with “Greed is good, balance is better, beauty is best.” (Reddit comments).
Perl Weekly Challenge #20
Blog posts with Perl 6 solutions for Challenge #20:
- Amicable Split with Perl 6 by Arne Sommer (Reddit comments).
- Perl Weekly Challenge 020 by Adam Russell.
- Perl Weekly Challenge: Week 20 by Jaldhar H. Vyas.
- Perl Weekly Challenge # 20: Split String on Character Change and Amicable Numbers by Laurent Rosenfeld.
- Perl Weekly Challenge 20 by Roger Bell West.
Damian Conway again repeated his look back on the challenge with “With friends like these…” (Reddit, Hacker News comments).
Perl Weekly Challenge #21
Blog posts with Perl 6 solutions for Challenge #21:
- Euler’s URL with Perl 6 by Arne Sommer.
- Implementing a spigot algorithm for the digits of e and Normalizing a URL with Parse::Yapp by Adam Russell.
- Perl Weekly Challenge # 21: Euler’s Number and URL Normalizing by Laurent Rosenfeld.
- Perl Weekly Challenge 21 by Roger Bell West.
Meanwhile, Challenge #22 is up for your perusal!
Core developments
- Ticket status of July.
- Stefan Seifert continued his excellent debugging work in the bowels of MoarVM, which improved the stability of MoarVM significantly. He also introduced a new debugging level, that causes a garbage collect on every allocation. He also fixed a race condition with precompilation.
- Ben Davies made socket family handling portable across OS’s.
- Timo Paulssen fixed various profiling issues and improved comments in the spesh log. And put in some optimizations.
- cygx added a function to MoarVM to run bytecode from memory and fixed the build on
MingW
systems. - Jonathan Worthington implemented various optimizations, one of which saved 10% on a
DBIish
record insertion benchmark. - Stéphane Payrard fixed the documentation of various
nqp::
opcodes. - Paweł Murias fixed various issues on the Javascript backend.
- ZhongnianTao added support for the
GB2312
encoding (simplified Chinese). - Elizabeth Mattijsen fixed an issue with
Date
objects losing their formatter with certain operations. - Vadim Belman fixed
EVAL
when run at compile time in the mainline of a precompiled module. He also made sure that each compiled setting knows of which language version it is. - Christian Bartolomäus fixed various issues on the JVM backend.
- And some smaller fixes and improvements.
Questions about Perl 6
Date
object “forgets” formatter? by Jo Christian Oterhals.- Amazon DynamoDB with Perl 6? by barrontrump2025.
- Why can’t anything go in the body of a grammar proto? by guifa.
- How can you change the Perl 6 version you are using or install a new module for the one
Comma
uses? by JJ Merelo. - How do you create custom metamodels for parametric types? by Ben Davies.
- What is the killer app? by Gustavo Di Pietro.
- Interpreting the output of the
split
function as an integer list / array by Romario. - The
R
metaoperator apparently reverses lists too by JJ Merelo. - How to sort
dir
results by directory age? by con. - Variable getting overwritten in
for
loop by Abeer (Reddit comments). - Is Perl 5 or Perl 6 still worth learning in 2019? by grepgeek (Reddit comments).
- What is Perl 6 good for? by Eihab Hala Hala.
- Exception thrown when adding an element into a
SetHash
declared asstate %set is SetHash[Str]
inside a loop by 850. - What was the tl;dr of the ‘Perl 6 performance update’ at PerlCon? by TotalPerspectiv.
- Use of implicit parameter in for-loop causes hang by Jo Christian Oterhals.
rakudobrew
cannot build moar by con.- What is the best way to flush precompiled modules? by Steve Roe.
- Some regex questions not clear in the docs by Aaron Sherman.
- Concurrency,
react
-ing to more than oneSupply
at a time by Holli. - Lookahead with capture by Jo King.
- Grammar and unicode characters by hythm.
- Remote debugging? by Nadim Khemir.
- Good data science modules? by Ilja Leedulane.
- Match all punctuations except
.
and"
by lisprogtor. - How can an existing knowhow be made parametric? by Ben Davies.
- Is there still a race condition? by Holli.
Meanwhile on Twitter
- Show me the Perl 6 code! by Alexander Kiryuhin.
- Areas in MUD by Æþer Portal.
- Livecoding in GTK and Cairo by Timo Paulssen.
- Doc just better by Pierre Chapuis.
- Find months by Jo Christian Oterhals.
- Easy building packages by Æþer Portal.
- Building blocks by Sean Gold.
- Versioning at import site by Patrick Flor.
- Want it to disappear by Keke.
- Much faster with JIT by 齊藤 (tails).
- Dodo crashed by John Hearns.
- nm to Perl translator by Jeff Goff.
- Lot of syntax by Æþer Portal.
Term::Readkey
on Windows by José Lula da Silva.- It’s a date by Jo Christian Oterhals.
- Supertype composition by Brian T. Rice.
- All Perl 6 libraries by Æþer Portal.
- Almost enjoyable by Garth Mortensen.
- Converted to Perl 6 by chenyf.
- Massive Osborne by Boris Lenhard.
- Excited to see by okuson.
- Will not replace by Jacques_Lemire.
- Rationals pretty much the same way by Brad Gilbert.
- Embed code in regular expressions by Brad Gilbert.
@
representsPositional
by Brad Gilbert.- Sufficient for what I need by Ted Davis.
- Mutate until it is that language by Brad Gilbert.
- Why the tedium? by Sean Gold.
- Dependencies managed with Nix by Æþer Portal.
- Monads! by Ben Davies.
- No mutable globals, no problems by Æþer Portal.
- Like the socket stuff by Simon Proctor.
- New language? by スマートコン.
- Passing functions through
Channel
s by Simon Proctor. - Find a job by 虚.
- Some time to invest by Sean Gold.
- App for searching and displaying by Æþer Portal.
- Friends? by Sankrant Chaubey.
- Crochet! by @doomyflo@framapiaf.
- Py Shoutout to graphemes by Vicky Brasseur.
- Uploading to Cachix by Æþer Portal.
- No issues by Florian Gilcher ∠(・.-)―〉 →◎.
- Dirty hands by Mohammad S. Anwar.
- Simple load testing tool by The Perl Shop.
- Reverse dependencies, please? by Jonathan Stowe.
- Awaiting your args by Repl.it.
- What about… by Zuzak.
- On Command Line heroes by Egg Freckles.
- It’s Perlish by Sean Gold.
Uri
testing, please by Jonathan Stowe.- New book in town by JJ Merelo.
- Only if you want it to be by Joab Jackson.
- How to call JS functions on JS backend? by Code Examples [ja].
- Hard to make real stuff by Sean Gold.
- Not on CPAN? by moznion.
- Still very excited by 2gua.
- Will sit in the same position by matsumuratomonori.
- Perl 6 Talk! by Anagura Yakumo.
- Talking about optimization by Mark Keating.
- Watching via stream by Tom Ryder.
- Succeeded in speeding up by Anagura Yakumo.
- 20x faster by Anagura Yakumo.
- Many new faces by Mark Keating.
- Beating Ruby! by Anagura Yakumo.
- Generally similar by Søren Lund.
- Starting with… by JJ Merelo.
- Pity EA is taken by JJ Merelo.
- Starting the Advent Calendar by JJ Merelo.
- Apocrypha here by JJ Merelo.
- Run from anywhere by JJ Merelo.
- The same with Perl 5 by パピッ.
- On Docker, Perl 6 and Travis by Mark Keating.
- Great comparison by 𝙱𝚛𝚢𝚌𝚎 𝚀𝚞𝚒𝚕𝚕𝚒𝚗.
- Highlights by The Perl Shop.
- Beautiful and expressive by Sean Gold.
- Command line utility tests! by Alexey Melezhik.
- Porting to other languages by Reddit4Devs.
- Curious about static type checking by ペンを入れたまま服を洗わない.
- About to start by Søren Lund.
- Seriously suggested changing the name by Dave Cross.
- Talk about doing stuff by JJ Merelo.
- TIOBE? Not so well by Curtis “Ovid” Poe.
- Enjoyed console oriented sites by Søren Lund.
- Sometimes a topic by プリズムリバーの人.
- Not really a micro-service, but still Cro by JJ Merelo.
- Many beautiful snippets by Søren Lund.
- Writing your own template language by Jeff Goff.
- Hard to get a job by Simon Proctor.
- Parsed and curious by Carl Mäsak.
- Perl’s real mom by خانوم توت فرنگی 🍓.
- On constraint programming by Søren Lund.
- Where? the next one by Denis Fedoseev.
- Start of string / line by Regular Expression.
- How and Why? by Roberto Clapis (GMT -7) 🏳️🌈 🇪🇺.
- Real life exception handling by Sean Gold.
- Ready Just In Time by JJ Merelo.
- All 44 in CommaIDE by JJ Merelo.
- Concurrency update by JJ Merelo.
- I joined #perl6-dev by Anagura Yakumo.
- The PerlCon effect by Job Achterberg.
- Seems to have promise and supply by Anagura Yakumo.
- Accurate floating point numbers by kamimura.
- Parallel is easy by Anagura Yakumo.
- Elegant Perl 6 code by Søren Lund.
- Meta-computation by Anagura Yakumo.
- Why not? by no one.
- Evolutionary smaller by JJ Merelo.
- Fresh and new by JJ Merelo.
- Just heard concurrent evolutionary algorithm by Anagura Yakumo.
xx
creates an array? by Anagura Yakumo.- Becoming hot by Anagura Yakumo.
- Using 8 threads by Anagura Yakumo.
- It’s cool, right? by 𝙖𝙨_𝙞𝙣𝙛𝙤𝙧𝙢𝙖́𝙩𝙞𝙘𝙤 ♠️.
- Differences by JJ Merelo.
- How to be Rational by Anagura Yakumo.
- Clear regularity by Anagura Yakumo.
- Always amazing by Anagura Yakumo.
- Number of neat differences by Simon Proctor.
- Perl 6? by Luc N. Vu.
- End of string / line by Regular Expression.
- Cool at using Unicode by Timur Ismagilov.
- To give them lobotomies by best of the 80s, 90s, and today.
- Define operators? by Xah Lee.
- It amazes me by Timur Ismagilov.
- Old is new by Jathan McCollum.
- Quite annoying by Zah Lee.
- The end of 007 by Carl Mäsak.
- Tomty released soon by Alexey Melezhik.
- Reproducible packages by Æþer Portal.
- Split capturing and grouping by 🍀 🌳 eevee 🌳 🍀.
- Dot segments by Khaled 🐫, 🐧& 🦋.
- To be conversant by Sean Gold.
- Hope you got the message by Winfred Raj.
- Rename? by JJ Merelo.
- With promises! by Adam Russell.
- Anything in production? by Youssuf ElKalay.
- Impression of Perl 5 too deep by CnBeta.
- More women participating by Joelle Maslak.
- Excursions into Perl 6 space by Carl Mäsak.
- 500+ solutions! by Mohammad S. Anwar.
- Die parser by Thomas Munn.
- Reading deep dive by Anagura Yakumo.
- Showing off
.squish
by Jo Christian Oterhals. - Never stops impressing by Mohammad S. Anwar.
- A walk in the park by Mohammad S. Anwar.
- Simpler version by Curtis “Ovid” Poe.
- Restrospective? by Claudio Ramirez.
- Awesome explanation by Simon Proctor.
- Opinion on readability? by सुमन खनाल.
- An idiot can learn! by Sean Gold.
- Torturing with some Welsh by The Perl Shop.
- Right tool by ryn1x.
- That’s it! by mattn@有益情報.
- Exciting bandit by RMS门下走狗.
- Sinful incompatibility by 2104san.
- Generating bytecode by JJ Merelo.
- Testing new infra by JJ Merelo.
- Brain stretching by Søren Lund.
- No forward references by Carl Mäsak.
- No app to update Perl by ウェブアイドル = 矢澤めうめう.
- Slides uploaded by Herbert Breunung.
- Making more sense by Sean Gold.
- Exciting by Anagura Yakumo.
- Does it exist? by きしもと.
- A schism like… by Sasa Blagojevic.
- Killed by fratricide by Angelos Karageorgiou.
- Solve in Perl 6 first by Simon Proctor.
- Obn Command Line Heroes by brian d foy.
- Kamikaze joke by Brian Pardy.
- Comparing users by hiratara.
- Not a target for migration by TANI_Röhei@赭埴菴.
- Splits more fashionable by Kevin.
- At 22nd place by JJ Merelo.
- Even numbers by Shoichi Kaji.
- Audience of one by Adam Leventhal.
- Could not be conceived by Carl Mäsak.
- Hello world by Etaoin Shrdlu.
- Shocking answer by JJ Merelo.
- Handling infinite lists by ActiveState.
- Hopefully ending confusion by JJ Merelo.
- There are killer apps! by JJ Merelo.
- Startup time? by JJ Merelo.
- Two talks already by Konstantin Narkhov.
- Computer science education! by Tobi Oetiker.
- Hopes for quicker adoption by René Moser.
- Paperwork to App by JJ Merelo.
- Postcards to Larry by Andrew Shitov.
- Eating your own book by JJ Merelo.
- Good reporting by Paul Evans.
- Hello world again by JackFly26.
- For the kids by Joelle Maslak.
- Happy with book by alberto fernandez.
- It’s expressive by JJ Merelo.
- Too much to understand by eexpss.
- Slides on CMS on blockchain by Konstantin Narkhov.
- Help testing reverse dependencies, please? by Jonathan Stowe.
- Generation Z by Konstantin Narkhov.
- Slides of PerlCon talks by Jonathan Worthington.
- Not Perl 6 by Albaro Pereyra.
- Zef not working by Sean Gold.
- Perl 6 instead by Sourav Datta.
- Teaching programming by JJ Merelo.
- Really really cool by Tyler Limkemann.
- Looks better, eh? by Ibnu D. Aji.
- B and C problems by こたつがめ.
- Thanks to everyone! by alberto fernandez.
- Shape up like Perl 6? by Philipp Krenn.
- Weird Perl 6 code by Spencer.
- Will change everything by Nathan Naze.
- Like Half Life 3 by Michael Friedrich.
- Writing since this morning by Anagura Yakumo.
- Japanese “No” by Anagura Yakumo.
- Red examples by Fernando Corrêa de Oliveira.
- Parrot on the cover by James Raden.
- Maybe with Perl 6 by Anagura Yakumo.
- A situation by Ryan Zezeski.
- Investigating results by けこやな.
- Perl 6 reviewer for Weekly Challenge by Mohammad S. Anwar.
Findbin::libs
in Perl 6 by The Perl Shop.
Meanwhile on Facebook
- At a CPAN near you by Jeff Goff.
- Film at 11 by Mark Gardner.
- Binary ready by Jeff Goff.
- Not this week by Wendy van Dijk.
- Spotted a typo! by Wendy van Dijk.
- Writing your own TT by Jeff Goff.
- Enjoying in Olten by Wendy van Dijk.
- Two more books by Wendy van Dijk.
- Message from FOSDEM by Wendy van Dijk.
- Need help testing
URI
by Jonathan Stowe. - Not a mega team by Wendy van Dijk.
- How people feel here, is irrelevant by Gustavo Di Pietro.
- From Olten, at the SPW by Wendy van Dijk.
- Postcards for Larry by Wendy van Dijk.
Meanwhile on perl6-users
- Module availability problem by Marcel Timmerman.
DEPRECATED
routine by Marcel Timmerman.- Help with Perl 6 script by Rui Fernandes.
- Flat a lazy gather? by Marc Chantreux.
- Core dump by ToddAndMargo.
- Type name limit? by Mark Devine.
- Checking if a certain object is present in
Array
by Mikkel. - Subscripting with a list of slices by Sean McAfee.
- Retaining
$/.pos
after an unsuccessful match without a temporary variable? by Raymond Dresens.
Perl 6 in comments
- Recursive descent grammar by jdoege.
- Redone the grammar by Ralph Mellor.
- My own focus by Ralph Mellor.
- Compatibility mode by kamaal.
- Secret sauce by Ralph Mellor.
- Pretty cool by 6thaccount2.
- Usually don’t need to by yellowapple.
- Jealous of expressivity by redka.
- AKA by mirceal.
- What’s holding back? by jai_.
- Not all implemented? by Izkata.
- Chaining and piping by Ralph Mellor.
- Look at Perl 6 grammars by earenndil.
- Perl 6 Grammars by jcamou.
- If renamed by zhouzhen1.
- Food for thought by Ralph Mellor.
- Like Perl 5 vs Perl 6 by rhabarba.
- Without splitting the community by skrebbel.
- No sigils? by emilper.
- Covering three approaches by Ralph Mellor.
- All that and shiny by Ralph Mellor.
- Rational numbers built-in by Elizabeth Mattijsen.
- De-structuring by Ralph Mellor.
- No forward declarations by Ralph Mellor.
Perl 6 Modules
New modules:
- VCard by Marcel Timmerman.
- Template::Prometheus by Patrick Spek.
- Docker::API by Curt Tilmes.
- Console::Blackjack by Greg Donald.
- Tomty by Alexey Melezhik.
Updated modules:
- Gnome::GObject, Gnome::Gdk3, Gnome::Gtk3, Tinky::Hash, Gnome::Gtk3::Glade, Auth::SCRAM, Decimal, GraphQL::Html, Library, TMap, PKCS5, Rdf, SemiXML, UEncoding, MongoDB, Neo4j, Semaphore::ReadersWriters, Unicode::PRECIS, XML::Actions, Config::DataLang::Refine, Gnome::Glib by Marcel Timmerman.
- Sparrow6, Tomtit by Alexey Melehzhik.
- Libui by Travis Gibson.
- Physics::Measure by Steve Roe.
- App::nm2perl6 by Jeff Goff.
- Algorithm::NaiveBayes by Itsuki Toyota.
- String::Fold by Patrick Spek.
- Supply::Timeout by Cono.
- Template::Classic by Chloé Kekoa.
- Findbin, FileSystem::Parent by Steven Lembark.
- Image::QRCode by Fernando Santagata.
- Module::Pod by Doeg Schrag.
- OEIS by Tobias Boege.
- Trait::Env by Simon Proctor.
- Bailador by Martin Barth.
- Red by Fernando Correa de Oliveira.
Winding Down
At PerlCon in Riga, yours truly announced that she would open up a problem solving” issue, in which she would ask to rename the “Perl 6 Programming Language” to (eventually) “The Raku Programming Language”. (/r/perl, /r/perl6, perl6-users, Facebook, Lobsters comments).
Some selected comments from the issue itself (in chronological order):
- Claudio Ramirez
- Tadeusz Sośnierz
- Damian Conway
- Samantha McVey
- pistachio
- Luis F. Uceta
- Damian Conway
- Jonathan Worthington
- Peter Scott
- Jonathan Worthington
- Moritz Lenz
- Carl Mäsak
After getting a better idea on how this would work, this resulted in a Pull Request, which is currently under review. If this pull request gets accepted by all reviewers, then this will cause “Perl 6” to be renamed to “Raku”.
And with that out of the way for now: next week’s Perl 6 Weekly will most likely be delayed, or possibly skipped altogether, due to yours truly travelling for some non-Perl related events. So, if not next week, see you in two weeks time then for more Perl 6 news!