2019.28 Perl 6 文档之 – 语言

Chenyf announced with a very modest tweet that the documentation of the Perl 6 Programming Language has been translated to Chinese. What an amazing piece of work! Looking forward to see many more Chinese programmers use Perl 6.

At long last

David Cassel has started a series of tutorials teaching the basics of the Perl 6 programming language. The first of these titled: “Getting Started, at Long Last, on Perl 6” takes you on the path to installing Rakudo Perl 6 and trying some small code examples. With as takeaway:

I’ll tell you this: playing around with Perl 6 is a lot of fun!

(Facebook comments).

Myths revisited

After last week’s Internet stormlet about Perl 6 Myths, cygx decided to make a better overview of Perl 6 Myths, which sparked some Reddit comments. One comment about the original blog post by chromatic, and a reply by Ralph Mellor, stood out for yours truly.

PerlCon in Riga

Another week, another newsletter, with nice postcards. And the following confirmed presentations with Perl 6 content:

Which makes 21 presentations with Perl 6 content on a total of 55 presentations (excluding Lightning Talks).

It is to be expected that Larry Wall will be autographing with stamp and four colours of ink. And Curtis ‘Ovid’ Poe will also be there!

Believe it or not, you can still buy a ticket for this excellent programme.

Madeline on a roll again

After a short hiatus, Madeleine Goebel is at it again for her Google Summer of Code project, with 2 blog posts this week:

More GSOC reporting

Antonio Gomiz Delgado also reported about his progress on his GSOC project on the Perl 6 documentation. Such as the capability to regenerate HTML files, and continuous integration testing. And he is inviting comments and feature requests!

My new calculator

Someone with the nick Shred_alert mentioned that the killer application for Perl 6 has been found: REPL has become my new calculator.

Perl and future

Jens Rehsack has written a blog post on LinkedIn: Perl and Future, in which he asks for a authoritative and definitive answer for the question whether Perl 6 is a Perl (/r/perl, /r/perl6, Facebook comments).

JIT Compiler

Bart Wiegmans reports on the progress of his work on the JIT compiler expression backend, which will allow expressions with floating points to be completely JITted to machine code. Cool stuff!

Celebrate Programming Verbosity

Richard Smith has written a blog post about the fine line between expressiveness and complexity. A quote:

But verbosity should be celebrated. It’s what will make my code easier to read now, later, and by the rest of my team. And even though I’ll have more lines, I’ll also have less bugs.

Which caused a lot of comments on Reddit.

Perl Weekly Challenge

This week’s blog posts with Perl 6 solutions for Challenge #16:

Damian Conway again looked back on the challenge of the previous week with an excellent blog post titled “Infinite work is less work (/r/perl, /r/perl6 and Hacker News comments). What is there to be said? Highly recommended!

In the “Champions” series of blog posts, Mohammad S. Anwar this time interviewed Joelle Maslak (Reddit comments).

Meanwhile, Challenge #17 is up for your perusal!

Core developments

  • Ticket status of the past week.
  • Daniel Green provided JITting of several often used nqp::opcodes.
  • Stefan Seifert fixed a build issue.
  • Timo Paulssen fixed a bug in profiling multi-threaded programs.
  • Vadim Belman fixed / reimplemented large parts of PseudoStash handling and made it possible to define new symbols in the 6.e setting.
  • And some more improvements and fixes, still in anticipation of the next Rakudo Perl 6 release, being prepared by Aleks-Daniel Jakimenko-Aleksejev, Kane Valentine and Samantha McVey.

Questions about Perl 6

Meanwhile on Twitter

Meanwhile on Facebook

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

Calling the past week uneventful, would be a euphemism (another blog post by yours truly, Reddit comments). Looking forward to a really uneventful week, so the Perl 6 Weekly will take a lot less time to read (and to write!).

Advertisements

2019.27 DeMythifying

Tyler Limkemann (aka aearnus) created quite a stir once again with a blog post titled “Perl 6 is Cursed! I hate it!” (subtitled: “… and other myths people tell themselves to sleep well at night…”). It got some positive reviews on /r/perl6 and on Facebook, but the Hacker News (~200 comments) and /r/programming (~150 comments) readers were generally much less enthusiastic, euphemistically speaking. And then there were some comments on Lobsters, /r/perl, r/programmingcirclejerk, /r/hackernews. It just goes to show there is still a long way to go to make Perl 6 more appreciated by many more people.

Cro 0.8.1 released

Jonathan Worthington proudly announced version 0.8.1 of Cro, the Perl 6 micro-services framework. This includes a new component called Cro::WebApp that provides HTML templating the Perl 6 way. And an updated version of Log::Timeline for keeping track of how long many asynchronously executing and overlapping tasks actually take.

PerlCon in Riga

With only a few weeks to go until the Perl Conference in Riga, organizer Andrew Shitov informs us that all conference tickets that were sold so far, have been sent. So if you registered and did not get the ticket, something is wrong and you probably need to check your email better.

There are 212 tickets for attendees now, of whom 186 are confirmed. That’s including 38 confirmed speakers. Furthermore, it has been confirmed that Booking.com has become a Silver Sponsor, and that ShadowCat, with support of the Enlightened Perl Organisation will be taking care of the video recording.

And of course, you can still buy a ticket for this excellent programme.

Leaving irc.perl.org

A sad story about the primary operator of irc.perl.org leaving. As Jeff Goff put it on Facebook: please thank the people that make everything happen behind the scenes every now and then. It is generally a thankless job: a token of appreciation every now and then is worth a lot! This caused comments on blogs.perl.org, Reddit and Hacker News.

Course Grant approved

Andrew Shitov‘s grant request to develop a complete Perl 6 course has been approved and funded by the TPF Grant Committee! (Facebook comments). Looking forward to the result!

Survey

JJ Merelo has published the results of this year’s Perl 6 Survey. Check it out!

TIOBE

Thanks to the work of Steven Penny, Perl 6 has now entered the TIOBE index at #93, as noted by JJ Merelo. So now is the time to blog about Perl 6! Since TIOBE searches for “Perl 6 programming”, please make sure to include that somewhere in your posts!

Squashathon

And what a Squashathon it was! This time aimed at adding as many mathematical sequences as possible. Quite a few got added, and some helper subs were created. And the winner is thundergnat! A plushy Camelia will be sent as soon as we know thundergnat’s whereabouts. (Facebook comments).

Tracing what’s missing

Wenzel P. P. Peppmeyer realized that grammars are just classes and used that to find out where parsing a log file failed without needing the Grammar::Debugger.

Perl Weekly Challenge

This week there were quite a few blog posts with Perl 6 solutions for Challenge #15:

Laurent Rosenfeld took the opportunity to publish another blog post, inspired by the Perl Weekly Challenge, but this time focused on functional programming in Perl.

Damian Conway looked back on the challenge of the previous week with an excellent blog post titled “As simple as possible…but no simpler (Reddit, Hacker News comments). Again, highly recommended.

Mohammad S. Anwar started another series of blog posts. This time consisting of interviews with Perl Weekly Challenge winners, called “Meet The Champions”. So far there are two entries:

Meanwhile, Challenge #15 is up for your perusal!

Core developments

  • Ticket status of the past week.
  • Daniel Green fixed an issue with the MoarVM implementation of prime number checking. And he merged all of his work on changing native num to native int calculations in NQP (see PR #2670).
  • Elizabeth Mattijsen fixed signal so that you can specify an array of signals.
  • And some more improvements and fixes, still in anticipation of the next Rakudo Perl 6 release, being prepared by Aleks-Daniel Jakimenko-Aleksejev, Kane Valentine and Samantha McVey.

Questions about Perl 6

Meanwhile on Twitter

Meanwhile on Facebook

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

What a week that was. Not a lot visually happening on the core, but so many things around it: new and updated modules, blog posts, squashathon. Looking forward to next week, for more Perl 6 news. See you then!

2019.26 PerlCon in Riga

The schedule for PerlCon in Riga on 6 – 9 August has been published (/r/perl, /r/perl6 comments). For those of you wanting to get to know more about Perl 6’s concurrency and parallel processing features: there are still seats available in Jonathan Worthington‘s Concurrency and Parallelism workshop on 6 August!

The PerlCon June Newsletter has also been published, asking attendees to make sure the organization knows about your T-shirt and food preferences, and to confirm your talk (if you are giving any) and to make sure that your accommodation is in order!

Ballad of Perl

Stephen Scaffidi has written a very nice Ballad of Perl. Sadly, there is no video of an actual performance of this ballad known 😦

More on Sorting

Andrew Shitov is sorting out his blog posts quite extensively. The crop of the past week:

Aaron Sherman got inspired by all of these to write about the sleep sort algorithm (Reddit comments).

Lack of List concatenation

Aaron Sherman also thought that Perl 6 is in need of a simple way to create a single flattened list out of two lists. He explains why and how in a blog post titled “Perl 6 needs a list concatenation op (Reddit comments) and supplied an ecosystem module Operator::Listcat as well!

Perl Weekly Challenge

Mohammad S Anwar has written an overview of the first 3 months of the Perl Weekly Challenge. He has also reacted to a blog post of Yuki Kimoto about the apparent lack of mentioning the benefits of Perl 5 in Perl Weekly Challenge results.

Damian Conway looked back on the previous Perl Weekly Challenge in a blog post titled “Simplicity made easy” (Hacker News, Reddit comments).

This week there were quite a few blog posts with Perl 6 solutions for Challenge #14:

Challenge #15 is up for your perusal!

Squashathon time again!

Next Saturday (5-6-7 July) there will be another Squashathon, this time aimed at adding as many mathematical sequences as possible (Facebook comments). Anybody can join online. The most/best contributions will receive a plush Camelia!

Core developments

  • Ticket status of the past week and the month of June.
  • Daniel Green fixed a recent issue with the profiler.
  • Timo Paulssen made rare errors that would expose MoarVM / NQP internals much less LTA, significantly helping in fixing them.
  • Paweł Murias continued working on the Javascript backend.
  • Ben Davies found a signature error in PsuedoStash.WHICH, then Jan-Olof Hendig found and fixed some more in other core multi methods.
  • Will Coleda fixed the wording in some Test messages.
  • Elizabeth Mattijsen fixed an issue with colonpair processing.
  • And some more improvements and fixes, still in anticipation of the 2019.06 release, being prepared by Aleks-Daniel Jakimenko-Aleksejev and Kane Valentine.

Questions about Perl 6

Meanwhile on Twitter

Meanwhile on Facebook

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

Still in great anticipation of the 2019.06 release, this week brought again quite a nice number of blog posts and associated discussion. Looking forward to next weekend’s Squashathon as well! So see you next week for more Perl 6 news!

2019.25 On Toolsets

Damian Conway came out with another blog post about Perl 6 in the past week: Coding with an even fuller toolset, as a follow up on last week’s blog post about tooling. (/r/perl6 comments). It also started a thread on /r/perl. Some excellent reading material again. And there’s a lot more of that this week! But first some multimedia:

TPCiP Videos

All videos of The Perl Conference in Pittsburgh have been published. These presentations provide Perl 6 content:

Next year’s American Perl Conference will be in Houston!

Hello World!

Madeleine Goebel tells us that she got the Hello World proof-of-concept running in her GSOC project to create a single executable of a Perl 6 app! Exciting times!

Daily Posts Again

Andrew Shitov has picked up on his streak of daily blog posts again. In the past days he’s published:

Looking forward to many of these in the future!

GSoC progress

Antonio Gamiz not only blogged once about his project in the past week, he blogged twice!

Logic Programming

Jeff Goff not only did an excellent Perl 6 workshop in Pittsburgh, he also got inspired to write a blog post about logic programming, co-inspired by Picat (Facebook comments).

Summer slurpies, 3 for a $

Matthew ‘Matéu’ Stephen Stuckwisch also wrote an excellent blog post about Variadic functions in Perl 6, or in other words: how and when to use which slurpies (or not). Recommended reading!

Perl Weekly Challenge

Blog posts with Perl 6 solutions for the Perl Weekly Challenge #13:

Challenge #14 is up for your perusal!

Core developments

  • Ticket status of the past week.
  • Timo Paulssen continued his work on confprog, the configurable profiler. He also fixed an issue with Date/DateTime objects with specific formatters.
  • Ben Davies fixed a memory leak when reading bytes from a socket.
  • Jan-Olof Hendig fixed a problem recently introduced on 32-bit systems.
  • Paweł Murias fixed an issue with wrapped Javascript functions (on the Javascript backend). And he added basic support for
    use Foo:from<node.js>;

    which should unlock all of node libraries to Perl 6 on the Javascript backend!

  • Elizabeth Mattijsen fixed an issue with List.reverse and with the use of Junctions in grep.
  • Vadim Belman fixed a type checking issue with a role inheriting from a class. He also fixed a problem with additional containers in exported values.
  • And some more improvements and fixes in anticipation of the 2019.06 release.

Questions about Perl 6

Finally at the 1111 mark in StackOverflow!

Meanwhile on Twitter

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

While suffering from what will be this years first heatwave at yours trulies, it is good to see so many blog posts about Perl 6. While the final blockers for a 2019.06 Rakudo compiler release are being taken care of. See you again next week, hopefully a bit less hot!

2019.24 Sequences of Int

Aaron Sherman would like to see many standard integer number sequences to be part of the Math::Sequences module. He would like to see that so much, that it’s now decided that it will be the goal of the next Squashathon (5-7 July). See you there! (Facebook comments).

Coding with a full toolset

Damian Conway was again inspired by the Perl Weekly Challenge to write a blog post about the complete toolkit of Perl 6, with the motto:

“All the right tools, right at hand.”

Recommended reading, as always!

Survey

JJ Merelo set up another yearly Perl 6 User Survey. Please answer the questions you feel comfortable with if you have any interest in Perl 6 at all! You can also check last year’s results (Facebook comments).

Grant Committee members

Will Coleda is still looking for new Grant Committee members. The basic work is to review Grant proposals for Perl work every 2 months, discuss and vote on them. Also asked to be Grant managers occasionally, talking with and reporting on folks doing Grant work. Interested? Contact Will Coleda.

Linker for Perl 6

Madeleine Goebel again reported on her GSOC progress in Building an ELF File, in which she describes her struggles to grok the intricacies of the ELF Header.

Perl Weekly Challenge

Blog posts in Perl 6 for the Perl Weekly Challenge #12:

Challenge #13 is up for your perusal!

Core developments

  • Ticket status of the past week.
  • Tobias Boege fixed the associativity of exponentiation in NQP.
  • Paweł Murias fixed the serialization/deserialization of native int/str arrays on the Javascript backend.
  • Ben Davies refactored global context handling on the Javascript backend.
  • Patrick Böker made sure that Rakudo’s core CompUnit::Repository will be in its own directory.
  • Vadim Belman fixed a problem with imports getting containerized in some situations.
  • Peter du Marchie van Voorthuysen fixed an issue with Channel.fail and the closed method.
  • Daniel Green fixed some methods that returned 0|1 instead of True|False.
  • Timo Paulssen fixed a problem with Date arithmetic with specially formatted Dates.
  • Christian Bartolomäus fixed a problem with Rakudo on the JVM backend, that was similarly fixed by Ben Davies for NQP.
  • And some more improvements and fixes in anticipation of the 2019.06 release.

Questions about Perl 6

Meanwhile on Twitter

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

Not too shabby considering many core devs were away this week. Please check again next week for more Perl 6 news!

2019.23 Complete Course

Andrew Shitov has reworked his original grant proposal for a Complete Perl 6 Course With Excercises, which has just been published by The Perl Foundation for public comments (until June 14th), before the grant committee will vote on it. Please comment if you feel you need to! (Facebook comments).

And this just in: Moritz Lenz has joined the TPF Grants Committee! Congrats!

Perl 6 學習手冊

Or in other words “Perl 6 Study Manual”. A Chinese translation of brian d foy‘s Learning Perl 6. Now available from various outlets. Good to see Perl 6 become available to 1.4 billion people in their native language! And if you don’t want to buy the book, there’s always Perl 6 入门 (aka Perl 6 Introduction).

Linker for Perl 6

Madeleine Goebel reported on her GSOC progress in The Linker for Perl 6, in which she goes into Symbol Resolution and Relocation, among other things. Her first goal is to create an ELF-executable from a “Hello World” program. Looking forward to future progress reports!

Helping the Perl 6 documentation

JJ Merelo points out in a thread on Twitter that the Perl 6 documentation doesn’t appear out of thin air just by itself. But that it needs dedicated people to keep up with new developments and problems reported by users. Yours truly would like to point out that working on the documentation is also an excellent chance to learn (aspects of) Perl 6 that you didn’t know before. So, if you see a problem in the documentation, please do not hesitate to report it, or even better, to create a Pull Request with your fix! Your contributions will be most appreciated by any current or future Perl 6 user.

Comments on learning Perl 6

Someone using the nickname Shred_Alert has started an informal discussion about aspects of Perl 6 on Reddit in which the following opinions were posited:

  • Perl 6 feels natural to *nix people but not Windows people
  • Perl 6 (or any Perl) is write-only, line noise, messy because of regexes
  • Perl 6 is slow

Warning: contains some very insightful comments!

Perl 6 should mimic Python 3

Someone using the nickname marcm28 started a discussion on Reddit titled In 2020, Python3 will murder Python2. Perl6 should do the same thing on Perl5. Why?, which sparked quite a discussion. Warning: may need to don some fireproof clothing!

TCPiP Newsletter

The June Newsletter of The Perl Conference 2019 in Pittsburgh, PA has been published. Information about the Arrival Dinners, and the River Cruise now available. Please check it out if you’re going to attend or plan to do so!

Perl Weekly Challenge

Blog posts in Perl 6 for the Perl Weekly Challenge #11:

Challenge #12 is up for your perusal!

Core developments

  • Ticket status of the past week.
  • Patrick Böker fixed some issues with relocatable builds.
  • Daniel Green removed the profiling overhead from tallies in profiles.
  • Ben Davies implemented NQP ops to find out amount of free memory and total memory used and fixed some warnings when building the JVM backend. He also fixed an issue with [] being improperly parsed by the internal from-json logic.
  • Kaz Wesley fixed a problem with NativeCall‘s HAS attributes and several other related bugs.
  • Bart Wiegmans fixed a race condition with creating objects in JIT compilation.
  • Nick Logan added JIT-compilation for the NQP strfromcodes op.
  • Vadim Belman continued his work on the new configuration system and fixed is export on roles.
  • Paweł Murias fixed various issues on the Javascript backend.
  • Jonathan Worthington performed many optimizations related to matching in both NQP and Rakudo, making a typical split using regexes 40% faster.
  • Jan-Olof Hendig fixed a potential collision in bitmap flag values.
  • Vadim Belman made use v6.* work again: it now means to use the most modern version of Perl 6 (so currently the same as use v6.e.PREVIEW).
  • Elizabeth Mattijsen made the internal to-json logic about 2x as fast.
  • And quite a few other improvements and fixes.

Questions about Perl 6

Only 2 to go to get to the 1111 Perl 6 questions mark on StackOverflow!

Meanwhile on Facebook

Meanwhile on Twitter

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

Wow. Perl 6 news and contributions to Perl 6 literally from all over the world! Please check in again next week for more Perl 6 news!

2019.22 When steroids are a given

Matthew ‘Matéu’ Stephen Stuckwisch has written a very nice blog post about the magic that given and when can bring to the readability of your code. It got quite some feedback! Even though smart-matching has been a thing in the Perl world for quite some time, the concept of smart-matching seemed to startle many people. See discussions on Hacker News, /r/perl6, /r/ProgrammingLanguages, Facebook and Twitter: Simon Proctor, Jonathan Stowe, Ted Davis, Amjad Masad, The Perl Shop.

German Perl Workshop Videos

The videos of the German Perl Workshop have been uploaded. People interested in Perl 6 presentations, should look at:

French Perl Workshop

In only a few weeks, there will be another French Perl Workshop with the motto “Perl Workshop — Act XV: three languages, three communities, one hackfest, one conference”. Strasbourg is a very nice city, with nice people and a nice venue, so yours truly is very tempted to attend.

pyx

Ralph Mellor started an interesting thought experiment to encourage real newbies to programming to try exploration of a language with a simplified Perl 6 syntax, which caused quite a discussion (and a name change from the originally suggested pyrl). Intriguing 🙂

Concurrent evolution

JJ Merelo reported on his poster about concurrent evolutionary algorithms in Perl 6, presented last April in Leipzig.

More cryptography

Arne Sommer continued his series of blog posts on DIY Cryptography with Perl 6 with Part 5: Real Text. Again, worth reading!

Azure Automation

Alexey Melehzik describes how you can automate the interaction with the Azure KeyVault using Sparrow6.

Grant proposals!

Another call for grant proposals has been made by The Perl Foundation. Please submit your ideas to make Perl 6 better!

Quick Syntax Reference

A new Perl 6 book was announced: Perl 6 Quick Syntax Reference by JJ Merelo. Too bad we will have to wait until November 11 before we can really get it 😦 (Facebook comments).

Starting with the GSOC

Madeleine Goebel describes what she did to come up to steam for her part in the Google Summer of Code in a blog post titled: “Getting Started: Developing for Perl 6“. It provides some very useful links to anybody wanting to get into helping out with Rakudo Perl 6 internals. Looking good so far!

Whatever whenever does

Wenzel P. P. Peppmeyer went a little deeper still into the inner workings of whenever in Whatever whenever does, inspired by Jonathan Worthington‘s answer to “Is whenever signal() in react block order dependent?“.

Perl Weekly Challenge

Blog posts in Perl 6 for the Perl Weekly Challenge #10:

Challenge #11 is up for your perusal!

Core developments

  • Ticket status of the past week and the month of May.
  • Jan-Olof Hendig updated the libuv library used by MoarVM, to version 1.29.1.
  • Jonathan Worthington made entry to all spesh’d/JIT-compiled frames faster.
  • Nick Logan made sure some UTF-8 decoding ops are JITted.
  • Patrick Böker made sure that CMP files are properly cleaned up on Windows.
  • Vadim Belman continued his work on the configuration subsystem. He also fixed some issues related to errors occurring during error reporting and assigning Nil to scalars with captured types. And finally, all his work in the past months to make use v6.e.PREVIEW work, was finally merged!
  • Timo Paulssen fixed a problem with the profiler.
  • Nick Wellnhofer fixed a problem with sorting 2-element lists with a mapper.
  • Elizabeth Mattijsen made the built-in to-json converter about 60% faster. She also made List.reverse about 4x as fast.
  • And quite a few other improvements and fixes.

Questions about Perl 6

Only 5 to go to get to the 1111 Perl 6 questions mark on StackOverflow!

Meanwhile on Facebook

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

So many blog posts and so much discussion about Perl 6. Good to see! Please check in next week for more Perl 6 news.