2018.04 It’s time for Optimism!

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 Perl5/Mojolicious to Perl6/Cro with 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 Parasolid schema 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 Parasolid file 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 Cro application. 🙂 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 each, times, tie, pack and unpack Perl 5 commands. The following Perl 5 core modules were also ported: Tie::Array, Tie::StdArray, Tie::Hash, Tie::StdHash, Sys::Hostname, List::Util, Scalar::Util, Sub::Util and 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.

Core developments

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

Perl 6 in comments

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on perl6-users

Winding Down

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.

Please check in again next week for less drama and more advances in the world of Rakudo Perl 6!


Got something to note?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s