Andrew Shitov made my day with his It’s time for optimism blog post, in which he talks about some random things related to Perl 6 and its future. Well, not entirely random: the impetus for this blog post was the Open Letter to the Perl Community by yours truly (🔥🔥🔥Reddit🔥🔥🔥, Hacker News and p5p comments). But more about that later.
Zoffix Znet also made my day. He wrote another very sensible followup blog post called Long Live Perl 5! in which he basically did a Synopsis of the Open Letter (🔥Reddit🔥 comments). I think he did a great thing there! And I am not alone.
The Perl Conference in North America
Are you ready to get high on Perl? Well, about a mile high, that is. The Perl Conference 2018 will be held in Salt Lake City, Utah from 17 June to 22 June. Registration is not yet available, but you can already submit a talk! So let’s get some cool Perl presentations, be they Perl 5 or Perl 6, submitted. The first round for submissions is until 28 January, so that’s only a week to go!
Rakudo Perl 6 in production
Following the Open Letter blog post, the question “Is Rakudo Perl 6 used in production?” was asked again. These are some of the reactions when the question morphed to: Do you use Rakudo Perl 6 in production and can you tell us about it?:
- Fritz Zaucker
Not yet, but I will port the backend of the web application described at www.agrammon.ch from
Perl6/Crowith the help of a Perl 6 expert (name to be published if he agrees). Not a high-volume WebApplication, but certainly one used in production by various scientists and governmental agencies in Switzerland. I will let you know when it is finished. And yes, the code will be public on GitHub. This will be the first Perl 6 application of www.oetiker.chagrammon.ch
- Solomon Foster
I write short Perl 6 scripts for work / personal stuff all the time. For instance, this week I wrote one script to parse
Parasolidschema files looking for the highest type number in each, producing a quick report of how the set of types grew over time. Then I wrote another script which found every
Parasolidfile in my file collection, called a
C++program to translate the file to a simple human-readable format, scanned that to determine which types the file used, and used that to build a list of which files use each type. It feels a bit weird talking about them, because, say, the second one is only 38 lines long, and that’s with no golfing, a simple user interface, error handling, etc. It’s a utility script, doubt I will ever need it again, but it was super handy for what I was working in this week.
- Jonathan Worthington
Here’s an (incomplete) list of some of the Perl 6 usage at Edument (the company where I work) for external customers. Names of those and details of the problem domains excluded, because of NDAs and similar.
- Rapid prototyping to explore solutions in a source-to-source translation problem. Grammars were, obviously, very useful for this, as was just being able to get something together very quickly: we needed to get something we could show our customer as soon as possible to help figure out if we were all on the right track.
- The core of a remote build/debug tool (which made heavy use of Perl 6’s concurrency features).
- Various scripts at multiple other clients, some throw-away for solving one-off problems, others that live on and are run now and then.
I’ve another job that will be delivered using Perl 6 coming up soon too. Of course, we built the Cro website as a
Croapplication. 🙂 And, while I can’t say what it is yet, one product we’re building at Edument and expecting to announce in the spring involves a small compiler implemented in Perl 6 in its development.
- Zoffix Znet
I use it at $work for throw-away one-liners and find it a lot simpler to use than Perl 5 for the same purpose.
- JJ Merelo
I use it for my own pipeline for producing the books I work on. Granted, it’s a set of small scripts, but it’s in production and it’s working to create, for instance, the Perl 6 book as well as the Git, Python and other books.
- Eugene Barsky
I’m only a recent newcomer, but I already use Perl 6 to analyze linguistic data (collecting stats while matching different patterns, making interactive console dictionaries, morphological parsing, finding orthographic variants of the same word etc.). For me it’s the best choice because of its thorough grapheme-level Unicode support, very consistent syntax, marvelous regex and grammar features and great docs. Also, I more and more use Perl 6 for small shell scripts instead of bash.
- Simon Proctor
Not yet, but I’ve got permission to do new projects in it and I’m working on some coding clubs to get other people at the company involved. When we have something in production I’ll tell people.
CPAN Butterfly Plan
The main part of the Open Letter blog post is about porting as many up river Perl 5 CPAN modules to Perl 6 as possible. In the coming week this will start to get fleshed out a lot more. Meanwhile, I’m happy to say that the past week saw the arrival of quite a few new Perl 6 modules on modules.perl6.org, making that a total count of 997 modules at the moment of this writing.
The past week saw the arrival of Rakudo Perl 6 support for the
unpack Perl 5 commands. The following Perl 5 core modules were also ported:
Sub::Name. Some of these are re-imaginations in pure Perl 6 from XS only modules, some are ports of Perl 5 to Perl 6 source code. For the CPAN Butterfly Plan it doesn’t really matter what the inside of a module looks like, as long as the API is as close as possible to the one from the Perl 5 version. All these modules will be tagged with the CPAN5 tag.
In preparation for the next Rakudo compiler release, which will also be a Rakudo Star release, most of the effort the past week was aimed at fixing outstanding bug reports prior to the release. So more about that next week!
Other Blog Posts
- Native integers and
UIntby Andrew Shitov.
- De-duping iTunes by brian d foy.
- Obsolete syntax error messages, part 4 by Andrew Shitov.
- Perl 6’s Forth-based younger sibling by basic-gongfu.
- Test a module version by brian d foy.
- Exploring the
Inttype by Andrew Shitov.
- Custom operators for Knuth’s Arrow by brian d foy.
- Exploring the
Inttype, part 2 by Andrew Shitov.
- Hints for Rakudo Perl 6 on Windows by brian d foy.
- New name for “Perl 6” language/environment by mohawkperl.
- How I was optimising
MoarVMby Andrew Shitov.
- The opcode dispatching loop in
MoarVMby Andrew Shitov.
- IYHO, what are new language features does Perl 5 need? by singe.
Perl 6 in comments
- Good claims by tomjakubowski.
- Without the boilerplate by labster.
- Valid password by jerf.
- Quoting flexibility by b2gills.
- Topicalizing by b2gills.
Meanwhile on Twitter
- Sparrowdo in the list! by Alexey Melezhik.
- Call it Perl? by Daniel Lopes.
- 3000th commit for 6.d by Zoffix Znet.
- Great things for Perl 6 by Vicky Brasseur.
- In between comments by Zoffix Znet.
- Rakudo Perl 6 speed prediction by Zoffix Znet.
- Sparrowdo for Terraform by Alexey Melezhik.
Meanwhile on StackOverflow
- UDP socket – how to read response from server? by Shniperson.
- Which paradigm do the concepts role and adjective come from? by user1134991.
- Converting to and from octal by Eugene Barsky.
Meanwhile on perl6-users
And what a week it was. Even though yours truly worked on her Open Letter blogpost for close to a month, with reviews and comments from about 20 people in the Perl Community (which instigated two rewrites and many, many changes in wording), many of the comments on reddit showed that I hadn’t made myself clear enough. So, to be clear, let me try explain the blog post:
- The blog post is my personal opinion.
- My radical idea is just that: an idea suggested by me as an amicus curiae. What the Perl 5 Porters decide to do with that idea, is entirely up to them.
- The most important thing to take away from my blog post, is the CPAN Butterfly Plan: porting as many up river Perl 5 modules to Rakudo Perl 6 to lower the threshold for Perl 5 programmers to start using Rakudo Perl 6 and possibly provide relief for the implementation of a Butterfly Perl 5 Project.
- So that the Perl Community can start moving forward in one direction, rather than two.
Please check in again next week for less drama and more advances in the world of Rakudo Perl 6!