It doesn’t happen often (anymore) that a Perl 6 Weekly is not published for a given week. In the past week, yours truly was more or less at the center of a large discussion about how Perl 6 should be (nick)named. This drained yours truly of the energy to write the Perl 6 Weekly. If you haven’t heard about this new episode in the naming debate yet and you do want to know about it, then please see the summary at the far end of this Perl 6 Weekly. Meanwhile, a lot of other things happened. So let’s get on with that!
Rakudo Star 2018.10
Steve Mynott has released the latest version of Rakudo Star, based on the Rakudo 2018.10 Compiler release (Reddit comments). This marks the end of an era in more than one way: this is the last Rakudo Star release that is based on the 6.c language definition of Perl 6. It is also the last Rakudo Star release that Steve Mynott committed to doing. So we’re on the lookout for a new Rakudo Star release manager to perform the release.
Yours truly would like to thank Steve Mynott on behalf of the Perl 6 community for this work. He definitely deserves a lot of kudos for having done this for basically the past 3 years (2016.04 .. 2018.10)!
1000 Rosettacode Entries
Already more than a week ago, but there was another Squashathon, which was focused on fixing documentation issues. Thanks again to Aleks-Daniel Jakimenko-Aleksejev for organising. And the winner was chsanch! The next Squashathon will be on 3 December 2018. The target of that Squashathon has not been set yet: suggestions welcome!
- Perl 6 in Real Life Work by Laurent Rosenfeld.
- 10 Things Ive learned Working With the Perl 6 Documentation by JJ Merelo.
- TestML Data Driven Testing for Perl 5, Perl 6 and Beyond by Ingy Døt Net.
- Building a Web App and Perl 6 and Cro by Lance Wicks.
- Releasing a Perl 6 Module by Herbert Breunung.
- Hardening Perl 6’s Hash Implementation Against Attack by Samantha McVey.
- Perl 6 Signatures, Types and Multimethods by Simon Proctor.
- Back to Perl by Marc Chantreux.
- 5 Perl 6 Operators by Simon Proctor.
- Concurrent food for thought by Stefan Seifert.
- Golfing on code-golf.io by Brent Laabs.
- The Future of Perl 5 and Perl 6 by Curtis Poe.
- Concurrent Evolutionary Algorithms with Perl 6 by JJ Merelo.
- Writing a Perl 6 Module by Herbert Breunung.
- The Future of Perl is Here by Elizabeth Mattijsen.
- Is your Perl 6 Travis test like this? by JJ Merelo.
- Bringing a bit of Perl 6 in production by Jason.
Other things to watch
Simon Proctor gave a talk about writing Perl 6 Command Line Scripts at the last London Perl Mongers meeting.
Not quite a video, but a nice screencast of how to create a compiler with Perl 6 has also become available (from the last Amsterdam Perl Mongers meeting). In it, Andrew Shitov shows the basics and some advanced grammar usages. Which he will most likely use in his next book.
Perl 6 calendar
Andrew Shitov has created a Perl 6 Calendar for 2019 that you can actually put on your wall at the office or at home. Each month highlighting a fascinating Perl 6 feature. A great present to give your friends, co-workers or yourself! And if you were planning on getting Andrew Shitov‘s Using Perl 6 book, you can now get them both using a special XMas offer! (FaceBook comments).
Perl 6 At A Glance for free
The very first Perl 6 book Perl 6 At A Glance (also by Andrew Shitov by the way) is now available for free as a series of blog posts, or as a PDF or as an EPUB. Great to see such a source of information to become available for free! (FaceBook comments: 1, 2).
Les regex et grammaires de Perl 6
Laurent Rosenfeld has written a large tutorial about regular expressions and grammars for the French developpez.com website. Good to see Perl 6 tutorial material in languages other than English! Keep them coming!
Advent Calendar submissions
Zoffix Znet reminds us that to have a successful Perl 6 Advent Calendar, people need to write blog entries for it. So please claim a day in the schedule and start writing about what you like to do with Perl 6!
Running Perl 6 in the browser
Paweł Murias has created a very nice interactive way of running Perl 6 code in the browser, called 6pad. Unfortunately, at the moment of writing you will need a
Chrome browser to be able to use it because other browsers do not support bigints (yet).
Where did I leave my AT-KEYs
Timo Paulssen showcased some more features of the upcoming MoarVM Performance tool. Yours truly can’t wait to see that land in master!
How to make Perl more classy
Perl 6 Appetizer
Mauro Panigada wrote a very nice introductory blog post titled: Perl 6 Appetizer. In this blog post, he highlights several features of Perl 6, such as Grammars and the handling of command line arguments (Reddit comments).
Showcase Perl 6 Features
ogniloud asked people on Reddit what they would find interesting and/or fun of Perl 6. And this was the the result.
TPF Grant Reports
The past weeks also saw three TPF Grant reports:
- October 2018 Report by Jonathan Worthington
- Performance analysis tooling Progress Report by Timo Paulssen (FaceBook comments)
- Rakudo.js update – running tests in the browser using Karma by Paweł Murias.
Perl 6 2019 Coding Contest
Moritz Lenz is seeking task masters for the 2019 Perl 6 Coding Contest. In the first phase of setting up this contest, he is looking for volunteers who come up with coding tasks collaboratively. But there are other ways you can contribute as well, such as pledging a prize, creating a website for the contest or ironing out the rules.
- Ticket status of October, last week and week before that.
- Zoffix Znet did all the work to have the Rakudo master branch default to the
6.dspecification. This means that most likely the next Rakudo Compiler release will be defaulting to
6.dsemantics. He also added a
- Stefan Seifert continued his work on rewriting the MAST phase of pre-compilation (the phase that writes out the bytecode to a file) and that work was merged into master. The MAST phase is now slightly faster than before, but more importantly, takes about 15% less memory. This means that building Rakudo Perl 6 has become more feasible on machines with low amounts of memory. He also did more general optimization work on MoarVM, making various JIT settings more easily settable.
- Timo Paulssen fixed a bug related to marking guards as used in MoarVM, that would cause segfaults in Rakudo in some situations. And continued his work on the profiling tool.
- Elizabeth Mattijsen removed now obsolete set operators
≽. She also introduced a compile-time only dynamic variable
$*FOLDING, which will be True if your code is called while attempting to constant fold the result of your code. She also optimized
DateTimeand general handling of many hyper operators.
- Donald Hunter fixed a problem with a literal
- Tom Browder continued work on improving pod handling.
- Aleks-Daniel Jakimenko-Aleksejev made the
make t/spec/foo/bar.trule work again, allowing for selective spectesting of one or more files.
- Jonathan Worthington made sure that exceptions thrown inside
startblocks are no longer ignored if the
startis in sink context. He also fixed a race condition in
- And many, many, many other smaller fixes, improvements and tweaks.
Questions about Perl 6
- Making a character class with modifier symbols by Eugene Barsky.
- Not able to send mail through gmail using an
SMTPclient by fenster25.
- Writing bindings or native libraries by mypicsou.
- Handling connection failures with
IO::Socket::Asyncby Amuro Ray.
- How to set email headers by fenster25.
- Basic Authentication with
Croby Martin Barth.
- Class inheritance when classes are in different “namespaces/packages” by Daniel Maldonado.
to-jsonexclude properties by Daniel Maldonado.
- Recursive subroutine by hythm.
- Functional Reactive Programming (FRP)? by bobthecimmerian.
Meanwhile on Twitter
- Released in 2015 by Brad Gilbert.
- Grammars quite interesting by Λlfredo.
- Learning by article by Joelle Maslak.
- Seems to spread after all by Hideyuki Tanaka.
- Love, no write by 美少女.
- Rocking on 2018.10 by Lance Wicks.
- Parser generators by apenwarr.
- Forgot about Exercism by ryn1x.
- Even Perl 6 say matplotlib by via900.
- Labels on axes by Timo Paulssen.
- Terrible idea to be giving people options by James Laver.
- Actually use? by .\\ax Pearl.
- Where are my operators by Zoffix Znet.
- Something that looks like CQRS by Fernando Correa de Oliveira.
- Grammaires de Perl 6 tutoriel de Laurent Rosenfeld by Perl_DVP.
- Plotting documentation contributions by JJ Merelo.
- One-person implementations by whitequark.
- 6pad by Zoffix Znet.
- sub encode by Tweet Perl6 IDE.
- Can’t wait by ryn1x.
- sub reverse-list by Tweet Perl6 IDE.
- Advent Calendar this year by 最高の動作環境.
- Grammar MSF by Tweet Perl6 IDE.
- Declaring non-Iterable by Zoffix Znet.
- Language interpreter in a tweet by Simon Proctor.
- Speed good enough by Gianni Ceccarelli.
- Operators are functions by Brad Gilbert.
- Laughing about
^..^by Yuki Inoue.
- Huh? ASCII version by Brad Gilbert.
- A subset by Brad Gilbert.
- Taking an operator as an argument by Brad Gilbert.
- Opportunity for
6.sby Zoffix Znet.
- Ops are functions by Zoffix Znet.
- Brampton Library meetup by Zoffix Znet.
- Listening to Russian trance by Danny McLanahan.
- New in
≠by Zoffix Znet.
- Getting interesting by 最高の動作環境.
- Could really use this by ryn1x.
- A small community by JJ Merelo.
- Read the weekly every week by Not Jack.
taudacious nonsense by Danny McLanahan.
- Downloaded at a glance by John Kominetz.
- No hurries by Salve J. Nilsen.
- Fibonacci in different languages by Ryota Kameoka.
- Wow by caffeine.
- Refreshing syntax by かるぱ@11/25東新宿真昼.
- Probably black magic by 次郎 ☁️.
- Daftness of superset by Hakim Cassimally.
- A set of linguistics by まさきはるか(Usk).
- Lambda formula sugar by Goldstein.
- 13 years ago by Daniel Krook.
- Moved on to Python by t0̸by.
- Context free grammars by Lesia Tkacz.
- How Perl 6 is seen in the Perl world by 新井俊一@大阪.
- A god! by 砂になって消えた.
- start throws by Joelle Maslak.
- NFG problems? by Chris Siebenmann.
- Most interesting by Erez.
- Fizzbuzzes by Etaoin Shrdlu.
- Zweite Version by heise Developer.
- “🦋” gt “☕” by Tweet Perl6 IDE.
- Becomes a rational number by irxground.
- Cheet Sheet by chenyf.
- Far beyond the age of the times by 最高の動作環境.
- Extract expression to variable by Jonathan Worthington.
- Richer than the REPL by Jonathan Worthington.
- Choosing syntax by Kostiantyn Rybnikov.
- Changelog vaguely categorized by Leon Timmermans.
- An old joke by leaningtoweravenger.
- Done with this language by ⣝⣵⡎⣵⢗⣿⣫⢗⡎⣵.
- Browsing the docs for a while by qntm.
- Hold my beer by Phobophille 🥄 aka Elom Nusk.
- Upset by things in reality by qntm.
- Unrelated? by Darkhogg.
- Type Cosmology by Charles Ellis.
- Never forgive by ⣝⣵⡎⣵⢗⣿⣫⢗⡎⣵.
- Good decisions by qntm.
- Perl will be cool again by Marcus Del Greco.
- This is Perl 6 by ﾛｰﾋﾞ.
- No one cared by aoeupl phe ✪.
- Revitalized by ubunrar.
- With Cro by JJ Merelo.
- Cro and Red by Fernando Correa de Oliveira.
- Implicitely Index by unemployed ponderer.
- Like Lisp but more complex by Danny McLanahan.
- Finally here by King Kebab.
- Not on FreeBSD by Robert Clausecker.
- Feature parity by Gianni Ceccarelli.
- Shibboleth? by Ken Keenan.
- Apologize to you by John Anderson.
- Perl 6 and Fortran 2018 by 𝗧𝗼𝗺 𝗦𝗶𝘀𝗮𝗻.
- Different OO’s by Carl Mäsak.
- Just past 80Kloc by Clifton B Wood.
- Opposite story by ryn1x.
Meanwhile on FaceBook
- APL operators coming by Jeff Goff.
- Amsterdam.pm meeting by Wendy van Dijk.
- Getting this to work properly by Jeff Goff.
- Ready for production? by Zarul Zakuan.
Meanwhile on perl6-users
- Exception Handling, DivideByZero by Joseph Brenner.
- A necessary no-op by Joseph Brenner.
- An alternate to ^methods by Joseph Brenner.
- Libre Office Calc by ToddAndMargo.
- Use cases by N6ghost.
- Diamond or fileinput-like input handling by Trey Harris.
- Nesting pod6 formatting codes by Fernando Santagata.
- Detecting running under the REPL by Joseph Brenner.
- Re: Need Golf! by Paul Procacci.
- Exceptions in threads by Brian Duggan.
Perl 6 in other comments
- Use Sparky! by Alexey Melezhik.
Yours truly did not have the energy anymore to work on this section. Next week should contain a selection of comments of the then past 3 weeks.
Perl 6 Modules
- Pod::Cached by Richard Hainsworth.
- ENIGMA::Machine by Luis F. Uceta.
- Crypt::CAST5 by Ben Davies.
- Tika by Ahmad M. Zawawi.
- Algorithm::MinMaxHeap by Itsuki Toyota.
- Email::Address by Sterling Hanenkamp.
- App::Tasks by Joelle Maslak.
- LibCurl by Curt Tilmes.
- MagickWand, Libclang by Ahmad M. Zawawi.
- Math::Factorial::Operator by Ribbon Otter.
- App::Mi6 by Shoichi Kaji.
- Math::FFT::Libfftw3 by Fernando Santagata.
- JSON::Path by Jonathan Worthington.
- LibUUID by Curt Tilmes.
- IP::Addr, AttrX::Mooish by Vadim Belman.
- Range::SetOps by Simon Proctor.
- AWS::Session, Hash::MultiValue, IO::Glob, Path::Router, DOM::Tiny, Template::Anti by Sterling Hanenkamp.
- Oddmuse by Alex Schroeder.
This concludes the part of the Perl 6 Weekly that yours truly recommends everybody should read. It was an enormous amount of information to sift through and categorize. Please let yours truly know if you think something has fallen through the cracks. If so, I will mention it next week. Until then!
What follows below is an attempt by yours truly to objectively describe the events related to the naming discussion of Perl 6 in the past week.
People have asked to give Perl 6 another name for many, many years. All this time, Larry Wall did not want to change the name of Perl 6. As far as yours truly knows, he mentioned that there potentially could be an alias for Perl 6 for marketing purposes in markets where “perl” is a four-letter word in its worst meaning, at the Perl Conference in Amsterdam (2017). Zoffix Znet started this discussion again early October 2018. While Larry Wall was on vacation, he checked in on the 3rd of November for a little while to let Zoffix Znet know that the alias would be “Raku”. On the 25th of October, Larry Wall explained why “Raku” was on the top of his list as alias.
Zoffix Znet took it from there
(EDIT: this was uncalled for) and used the bump in the language specification to merge with the use of an alias. Except that in
a lot of cases
(EDIT: at least one case), “Perl 6” was simply omitted, effectively making it a rename of “Perl 6” to “Raku”. And it was welcomed as such by a number of prominent Perl 5 developers. This upset a number of people very much, amongst which yours truly. And that caused quite a few discussions on the various IRC channels, and blog posts and commentaries on sites such as FaceBook, Reddit and Hacker News. This in turn was perceived as an attack on his person by Zoffix Znet, which led to his departure from the IRC channels and cancelling of planned blog posts. Since then, a status quo appears to have arisen, while waiting for a reply by Larry Wall, who was on vacation / helping family evacuating from wild fires in Southern California.
What follows below are places on the Web that mentioned the situation as it developed. Some of this is not nice reading, some posts have been removed (or maybe will be removed after publishing it here). Clearly a lot of people were upset about a lot of things. Read at your own risk for your mental health:
Blog Posts + associated comments
- Announcement (/r/perl)
- On Raku (/r/perl6, /r/perl)
- Larry Wall Announces Alternative Name “Raku” for Perl 6 (/r/perl6, /r/perl)
- Quo Vadis, Perl? (/r/perl6, /r/perl)
- Raku Perl 6: Zweite Hauptversion der Programmiersprache erschienen
- Let’s free all the butterflies
- Raku vs Perl 6 (/r/perl6)
- On Raku (Again)
Rename indeed, Marketing down the drain, Slave master, 6.d is coming, The new p5p nest, No Weekly, Here it was, Perl 6 after all, More and more embarrassing, Documentation?, Positive on Raku, Extremely unhappy, What is Raku, PerlCon 2019 I, PerlCon 2019 II, On Raku, Thanks, On Raku (Again), Tagging on StackOverflow, Changing the Perl 6 group photo, Just an alias?,
use raku?, Smashed, No Advent, Back from vacation
This is really only a selection of the most prominent tweets about the alias “Raku” (or have a look at all “Perl 6” related tweets):
Its’ Raku!, Kinda meh, Formerly known as…, Now raku?, Tumbleweed, Sebastian Riedel: Raku!, Alternative name, Raku vs Perl 6, A convenient lie,
A new name for Perl 6, Things are settled, Can we get one too?, Official alternate name, Release announcement, DBA as, Three camps, Holding hostage, PerlCon 2019 cancelled?, Fully spelt out (not), Like the new name, Another name for Perl 6, Nicknamed “Raku”, Fumble?, Deleted comments, Also officially known as, Taking a stand, / >♥️ ♥️< \, A warning to the Perl 6 Community, This is worse, Kill off Perl 5?, Completely unrelated?, Just call it “Raku”, Implies Raku Perl 5, Brainfuck, Raku sounds good, Not first, Don’t buy the hype, Makes p5p look almost functional, Une annonce, Whirlpool, Perceived as rebranding, Confusion, Offical alias, Don’t make big announcements.
I hope that this is the last time I had to write about “Raku”, the alias for Perl 6.