2018.25 A Quick One From Salt Lake City

The Perl Conference in Salt Lake City kicked off today with a thought-provoking keynote by Vicky Brasseur on the Importance of Ecosystem viability in the light of a possible ongoing cascade effect in the Perl community. Yours truly hopes to have a link to the video version soon!

Sponsor of \x1F98B

It came to the attention of yours truly that Zoffix Znet has sponsored the unicode symbol 🩋 (aka \x1F98B, aka “BUTTERFLY”) on behalf of the Perl 6 Community. Kudos! FWIW, it looks like đŸȘ (aka \x1F42A, aka “DROMEDARY CAMEL”) is still available for sponsoring!

Polish Perl 6 First Steps Experience

Zoffix Znet argues in his blog post (/r/perl and /r/perl6 comments) that it is time to make sure that the Perl 6 experience for readers of the coming Learning Perl 6 book by brian d foy is going to be as smooth as possible. He urges all of us to try that out and make sure we’ve got rid of all of the rough edges.

TPF Grant reports

The past week saw two Perl Foundation Grant reports: Perl 6 CaR TPF Grant: Monthly Report (June, 2018) by Zoffix Znet and No Major Breakthroughs by Timo Paulssen (Reddit comments). Both interesting reads!

A new perl 6 blogger

The past months yours truly apparently missed a number of nice Perl 6 related blog posts by Jo Christian Oterhals:

All very entertaining reads, especially if you’re coming from Perl 5

Takers for a Russian perl6intro?

Naoum Hankache is looking for someone to translate his excellent Introduction to Perl 6 to Russian. Please contact him if you think you’re up to it!

Core Developments

  • Ticket status of past week.
  • Jonathan Worthington and Samantha McVey did a lot of low-level refactoring and optimizing on the MoarVM and JVM backend, which will allow for quite a number of efficiency improvements in the coming weeks.
  • Jeremy Studer did further refinements on making signal values work correctly across multiple OSes. He also fixed an issue that manifested itself by .assuming having problems with certain Signatures.
  • Zoffix Znet fixed an issue with Map.list returning a Seq instead of a List. He also did a lot of work on the CaR grant.
  • Elizabeth Mattijsen made .minpairs/.maxpairs about 25% faster. She also fixed an issue with Buf.unpack that she had introduced earlier.
  • And many smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on PerlMonks

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

A little shorter than usual maybe. Or maybe not. Anyways, next week’s Perl 6 Weekly may either be a day early or a day late, as yours truly will be en route for most of next Monday. Be it early or be it late, see you the next time for more Perl 6 news!

Advertisements

2018.24 Discussion Redirect

Zoffix Znet took action on the news of last week that our old IRC log website was no longer in the air out of GDPR considerations. In a blog post entitled “How To Make Old #perl6 IRC Log Links Work” he explains how he wrote the algorithm to map references to the old log website to the secondary logger. After which Moritz Lenz added a smart redirect on the old log website to make things more convenient. Meanwhile, Aleks-Daniel Jakimenko-Aleksejev has worked on making the same work for #moarvm, #perl6-dev and even previously-used #p6dev channels.

Spesh Plugins Merged

Jonathan Worthington merged his work on the MoarVM spesh plugin infrastructure, which started a good 6 weeks ago. In his blog post titled: Faster dispatches with MoarVM specializer plugins he explains the background, the problem, and how the new plugin structure will help optimizing in quite a few contexts (2.5x, 6.6x and 12x faster). All work that he’s doing as part of his most recent Perl Foundation grant.

Stack Hacking Improvements

The MoarVM internals work did not end with Jonathan’s work this week. Bart Wiegmans also published a blog post: Controlled Stack Hacking for the MoarVM JIT Compiler. He explains how a reorganization of some MoarVM internal data structures allows for much easier exception handling, reducing the memory footprint and general execution overhead as well.

Final Documentation Grant report

JJ Merelo has presented his Final Grant Report. Yours truly can only concur with the conclusions:

In general, I would say that the main objective of this grant, which was to improve the documentation, was achieved, not only by closing the outstanding issues, but also playing attention to channels where Perl 6 is mentioned and creating issues on the repo when it was needed.

And the additional reports that JJ Merelo has authored, are the icing on the very large cake!

Introduction to Application Development in Perl 6

Patrick Spek has sent in a Perl Foundation Grant Proposal to write a book about getting started with application development in Perl 6. Be sure to leave your comments!

Is Perl 6 faster than Perl 5 on average?

An interesting question on Reddit, with quite a few comments.

Running Perl 6 in Docker

Gabor Szabo shows how you can use a Docker image to run Perl 6 (Reddit comments).

Preliminary Schedule NLPW 2018

CowmelThere’s a preliminary schedule for the coming Dutch Perl Workshop, on Saturday 7 July 2018 in Arnhem, The Netherlands. So far, the Perl 6 presentations are in a majority! And on Sunday 8 July, Andrew Shitov is going to give a whole day “Introduction to Perl 6 Workshop“.

Other Core Developments

  • Ticket status of past week.
  • This week saw the 29000th commit in the Rakudo repository.
  • Jeremy Studer fixed an issue with the SIGBREAK signal on Windows.
  • Daniel Green made the NQP static optimizer convert +@a to the faster nqp::elems(@a) transparently.
  • Samantha McVey made maintenance of the ops / JIT expression templates easier by writing a support script that sorts them in the same order.
  • é™ˆæą“ç«‹ added a non-metaop !~~ in NQP and did some NQP grammar cleanups.
  • Elizabeth Mattijsen added use isms 'Perl5' as a way to let Perl 6 allow certain Perl 5-like invocations (such as abs without parameters).
  • Stefan Seifert continued his work on being able to write meta-models in Perl 6 (rather than NQP).
  • And many other smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on FaceBook

Meanwhile on perl6-users

Perl 6 in comments

  • Not worried about obscurity by raiph.
  • You are doing it wrong by Reini Urban.
  • I am about to learn Perl 6 by haj.
  • Apologies if you’re not interested by raiph.
  • Implemented as Virtual Machines by jcrites.
  • Better tooling by smewp.
  • Perl 6 Modules

    New Modules:

    Updated Modules:

    Winding Down

    Quite a few very nice advancements this week! Some applications will see that more than others, at least the spectest seems to run about 1% faster. And that’s the worst case, as there’s not a lot of code there that runs repeatedly.

    Which brings me to something that does repeat: the Perl 6 Weekly. So see you next week, live from The Perl Conference in Salt Lake City!

    2018.23 Opened/Closed

    Jonathan Worthington has opened the Comma IDE Early Supporter Program for business with a simple Tweet.
    Comma IDE screen shot
    So if you’re a fan of using IDE’s, and you are or want to be working with Perl 6, now is your chance get this developer efficiency boost! (FaceBook and more FaceBook comments).

    Closed For Business

    After an 11-year run, Moritz Lenz has had to take the famous irclog.perlgeek.de website offline because of GDPR considerations, especially about the German implementation of them.

    I’m sorry, but I had to shut down the IRC logs.

    I have found no way to make public IRC logs compliant with the privacy policies enforced by the GDPR and its implementations.

    The source code of the underlying software is still available from GitHub. Use it based on your own judgement and understanding of the law.

    I’d like to thank all contributors, users and visitors for their support.

    Hopefully we will be able to host this service somewhere else really soon. In the meantime, logs for some Perl 6 related channels can be found on colabti.org: #perl6, perl6-dev, #perl6-toolchain and #moarvm. Comments can be seen on /r/perl, /r/perl6, Hacker News and Twitter.

    I think a BIG THANK YOU is in order for Moritz Lenz for this (and many other services) he has rendered to the Perl 6 community!

    No European TPC Venue for 2019 yet

    More Bad News. Thomas Klausner tells us that still no proposals to host The European Perl Conference in 2019. Please get working on your proposals and mail them to venue@yapceurope.org. Thank you in advance on behalf of all the current and future visitors!

    JJ Merelo’s Documentation Grant Completed

    JJ Merelo has completed his work on the Perl 6 documentation repository. His work is visible and we’re better for it. And he already has published a scientific report (Perl 6 documentation repository through time: dealing with issues) about it. Soon we should have the final grant report!

    Squashathon Results

    Last Saturday saw another Squashathon, this time focused on the Perl 6 bots. Among other improvements, all whateverable bots now support multifile gists. See the overview for more information.

    Perl 6 Tutorials at TPCiSLC

    There are still a few seats available at the Perl 6 tutorials at The Perl Conference in Salt Lake City (17 – 22 June 2018)!

    Also be sure to check out the The Perl Conference 2018 Newsletter: 2 June 2018 by Irish Pebbles.

    Call for Grant Proposals

    The May 2018 Round of Grant Proposals will close on June 9th. Make sure you get your Grant Proposals in! Whether they are for Perl in general, Perl 5 or Perl 6. Let The Perl Foundation help you do great things for the community!

    Blog Posts

    Core Developments

    • Ticket status of past week and the month of May.
    • Timo Paulssen and Samantha McVey fixed several issues that a recent Coverity scan uncovered.
    • Samantha McVey did several optimisations related to often used nqp::ops and sped up the NFA by using a cached grapheme iterator. And she fixed some issues with collation and the SHIFT-JIS encoding.
    • Stefan Seifert created JIT templates for several nqp::ops. He also continued his work on being able to write meta-classes in Perl 6, rather than in NQP.
    • Tom Browder did some more whitespace fixes with regards to Perl 6 pod.
    • Jeremy Studer further tweaked the new signals support, so that the Perl 6 code can be further simplified. He also fixed an issue with the value sent to a signal handler.
    • Elizabeth Mattijsen moved the experimental support for pack / Buf.unpack out of the setting (so that they will only become available after a use experimental :pack). She also made it possible to specify an :api value in all places where you could already specify a :version or :auth value.
    • And many other smaller fixes and improvements.

    Meanwhile on Twitter

    Meanwhile on StackOverflow

    Meanwhile on FaceBook

    Meanwhile on perl6-users

    Meanwhile on PerlMonks

    Perl 6 in comments

    Perl 6 modules

    New Modules:

    Updated Modules:

    Winding Down

    A very full, happy and a sad week. Hopefully next week only a full and happy week. See you then!

    2018.22 GDPR To You Too

    There is no escape: the PAUSE now has a Privacy Policy, Neil Bowers explains in a blog post (Reddit comments). It’s good to see that the Perl community take action on such matters that affect us all.

    2018.05 Rakudo Compiler Release

    Thanks to the work of many, specifically Samantha McVey (MoarVM) and Aleks-Daniel Jakimenko-Aleksejev (nqp and Rakudo), there is a new Rakudo compiler release. And within a short time after that, pre-compiled Linux packages in several flavors were made by Claudio Ramirez.

    Perl Developer Survey Results

    The results of the Perl Developer Survey were published. Which caused some comments on Reddit. In that respect yours truly can only agree with a comment by Zoffix Znet:

    As for the survey itself, it’d be nice if it were clearer on whether it’s collecting data on Perl 5 and Perl 6 programmers or just on Perl 5. It starts off by referring to “Perl 5” in the first question and “Perl” in the next, suggesting it covers both languages, yet later questions (e.g. frameworks) only include Perl 5’s frameworks.

    It’s Squashathon Time Again This Weekend

    Well, technically for as long as it is Saturday 2 June 2018 anywhere in the world. The issues of the perl6/whateverable repository will be the focus of this Squashathon. Check out the wiki for more information and hope to see you there this weekend!

    Blog Posts

    Core Developments

    Most of these core developments happened after the 2018.05 Rakudo Compiler Release.

    • Ticket status of past week.
    • Samantha McVey did some great optimization work on the Unicode grapheme handling on the MoarVM backend, which resulted in Str.lines and Str.words becoming about 2x as fast. And she fixed some issues in the handling of bitwise string operators with regards to the handling of synthetics and normalization.
    • Timo Paulssen fixed a problem with the debug-server hitting the same breakpoint again and again.
    • Christian BartolomĂ€us fixed various slicing issues in nqp on the JVM backend, and the implementation of the nqp::isrwcont opcode. The latter change fixed a long standing issue where the wrong candidate was selected in some situations in a multi-dispatch.
    • Martin Ryan fixed an issue with stringification of Sub when using the --target=ast command line parameter.
    • Tom Browder worked on several issues with vertical whitespace in Perl 6 pod.
    • Elizabeth Mattijsen fixed a long-standing issue with the use of is DEPRECATED on routines in pre-compiled modules. And while she was at it, she also implemented the is DEPRECATED trait on Attributes with auto-generated methods.
    • And many more smaller fixes and improvements, specifically by JJ Merelo in the Perl 6 documentation.

    Meanwhile on Twitter

    Meanwhile on StackOverflow

    Meanwhile on FaceBook

    Meanwhile on perl6-users

    Perl 6 in comments

    Perl 6 Modules

    New Modules:

    Updated modules:

    Winding Down

    With all-time record-breaking high temperatures all week where yours truly is writing this, it’s hard not to feel things are heating up. And that’s just the world, not Perl 6! See you next week to feel the heat of more Perl 6 goodies!

    2018.21 Mitigating Denial

    Samantha McVey explains in an excellent blog post titled “Secure Hashing for MoarVM to Prevent DOS Attacks” how hash-based Denial Of Service attacks work, and what she has done so far and will do in the near future to prevent the evil-doers from getting their way. And how this may affect development and testing. Along with links how other programming languages have reacted to this kind of threat (/r/perl, /r/perl6 and FaceBook comments).

    Your help is needed!

    JJ Merelo describes the similarities between graffiti and the art of writing Perl 6 documentation. How you can be proud about your own contribution, but also about the ever-evolving result.

    What do you think about Perl 6?

    An interesting discussion on Reddit’s r/ProgrammingLanguages on the question:

    So Perl 6 is a successor of Perl 5. It is a new Perl that changes language syntax and adds new features like Grammars. What do you think about Perl 6?

    With some nice descriptions of the unique features of Perl 6 and how some people see its future.

    CaR TPF Grant Report

    Zoffix Znet has presented his (first) grant report for the CaR Grant. The progress has been mostly in getting a still better comprehension of the problem at hand, and how proposed solutions may or may not achieve the desired goals (Reddit and FaceBook comments).

    Getting started with Sparrowdo

    Patrick Spek has written a nice tutorial about the use of Sparrowdo titled “Getting started with Sparrowdo“. A must read if you’re looking into automating menial jobs.

    Welcome Tom Browder!

    It was not too long ago when Tom Browder submitted his first Pull Request. Since then, quite a few more Pull Requests were submitted by him. Last week he received a Rakudo commit bit so that he can now make changes to Rakudo without being Warnocked. Yours truly is looking forward to more contributions by him!

    Core Developments

    • Ticket status of past week.
    • Samatha McVey kept working on improving the MoarVM hash implementation.
    • Christian BartolomĂ€us continued guarding the JVM backend from being left behind. Together with Jeremy Studer he also fixed an issue with the new nqp::splice op on the JVM backend.
    • Tom Browder fixed an issue unexpected pod table failures and an error in handling non-breaking whitespace in pod rendering.
    • Lucas Buchala tweaked Test‘s pass (so that it always returns True) and flunk (add a default message if none given).
    • Stefan Seifert speeded up module loading a tiny bit. Together with Zoffix Znet he also worked a lot on the array initialization internals.
    • Nick Logan fixed an issue with the distribution path format on Windows.
    • Elizabeth Mattijsen made @a.splice about 20% faster. She also implemented a new use p5isms pragma to disable “looks like a Perl 5 construct” compile time errors.
    • And many more fixes and improvements.

    Other blog posts

    Meanwhile on Twitter

    Meanwhile on StackOverflow

    Meanwhile on FaceBook

    Meanwhile on perl6-users

    Perl 6 in comments

    Perl 6 Modules

    New modules:

    Updated modules:

    Winding Down

    Quite a diverse week again. Lots of blog posts. Not so many core developments just before the Rakudo Compiler Release 2018.05. But outside of that, wow! Can’t wait to see next week’s batch of goodies. So, until then!

    2018.20 Committed Through Time

    JJ Merelo has published a Technical Report titled “Perl 6 documentation repository through time: contributions through commits” (PDF) in which he describes how contributions have been distributed throughout the repository history, and what kind of changes have been brought by the Perl Foundation grant and other events. One of the products of the Curating and improving Perl 6 documentation TPF grant (First Grant Report).

    Core Developments

    • Ticket status of past week.
    • Jeremy Studer implemented an nqp::slice op, which was then used by Elizabeth Mattijsen to make native array range slices (like @a[^10]) about 23x faster, and .splice on native arrays up to 2x faster.
    • Wenzel P. P. Peppmeyer fixed the output of the X::OutOfRange exception on very large arrays.
    • Christian BartolomĂ€us fixed various issues on the JVM backend again.
    • Stefan Seifert optimized the array initialization from a large list of literal values so that the JVM backend does not have any problems with it anymore either (apparently there was a limit of 255 arguments).
    • Daniel Green optimized some internal logic with regards to interpolating regexes into other regexes for a 30% speed increase in some cases.
    • Zoffix Znet fixed an issue with the use of attributes in shape declarations.
    • thundergnat made the stringification of Rats and FatRats up to 200x faster and fixed a number of issues along the way. FatRats can now be stringified to an arbitrary precision (although this will not happen by default, as that would break compatibility).
    • Samantha McVey implemented a new algorithm for string searching for when strings are represented as 32bit values internally. This made this particular function 4x to 15x faster.
    • Timo Paulssen fixed many small, but important issues in the MoarVM backend, related to GC and profiling.
    • Bart Wiegmans made sure some more opcodes are getting the full JIT treatment on MoarVM.
    • Aleks-Daniel Jakimenko-Aleksejev removed some not-working / obsolete Perl 4/5 to Perl 6 error messages / warnings.
    • And many other smaller fixes and improvements.

    Blog Posts

    Meanwhile on Twitter

    Meanwhile on StackOverflow

    Meanwhile on FaceBook

    Meanwhile on perl6-users

    Perl 6 in comments

    Perl 6 Modules

    New Modules:

    Updated modules:

    Winding Down

    Check in again next week for more Perl 6 news!

    2018.19 The-Six-Percent Solution

    Samantha McVey and Bart Wiegmans have been responsible for speeding up one of the real world speed tests by 6% in the past week (without making any changes to the code of the speed test itself). Samantha‘s part was making hash lookups and setting them 15% faster and some cases of looking up strings in a haystack up to 16x faster. Bart added JIT templates for quite a few opcodes that were used by the real world speed test.

    Rakudo Star 2018.04

    Steve Mynott has released Rakudo Star 2018.04, the recommended production-ready version of Rakudo Perl 6 for end-users. It contains all of the improvements of MoarVM / NQP and Rakudo of the past three months. Available as a source distribution, but also as directly installable Windows (64bit) and MacOS binary distributions. Pre-compiled Linux packages are also available, maintained by Claudio Ramirez.

    Perl 6 syntax support on Github

    With the merging of Add Pod 6 to the languages.yml Pull Request by Patrick Spek, we’re one step closer to having Github support Perl 6 pod. Alas, the final step(s) have not been taken yet. To be continued and concluded shortly, hopefully 🙂

    Monthly Squashathon

    Last Saturday saw the Monthly Squashathon, this time with the emphasis on the Perl 6 Documentation. Granada Perl Mongers played a large part in this: JJ Merelo described how you could help. All in all a very successful Squashathon, especially in Granada!

    San Francisco Meetup

    Last Sunday saw a Perl 6 Meetup in San Francisco. Alas, only 2 people attended, but starting a new regular meetup is always difficult. Keep up the good work!

    Core Developments

    • Ticket status of past week and past month.
    • Stefan Seifert fixed a large number of sleeper issues caused by recent hash randomization changes, that would cause irreproducible builds, that would in turn cause many weird issues (especially for core developers).
    • Timo Paulssen fixed a problem in a helper function for P6Opaque debugging and made sure that allocations made for autoboxing a native will no longer be lost. He also fixed a long-standing issue with <after> and left/right word boundary checking.
    • Christian BartolomĂ€us fixed various issues with the numification of literals on the JVM backend.
    • PaweƂ Murias fixed some issues with longest literal ordering in NFA matching on the JS and JVM backends.
    • And many other smaller fixes and optimizations.

    Meanwhile on Twitter

    Blog Posts

    Meanwhile on StackOverflow

    Now more than 666 Perl 6 questions! Onwards to a 1000! Not surprising if you see the graph of the number of StackOverflow questions per quarter: last quarter saw the highest number of Perl 6 questions yet!

    Here’s last week’s batch:

    Meanwhile on perl6-users

    Perl 6 in comments

    Perl 6 Modules

    New Modules:

    Updated Modules:

    Winding Down

    One StackOverflow comment in the past week made yours truly smile very much:

    .oO ( Python’s Py3 Plan vs Perl’s Butterfly Plan. A Python community cabal built an unsafe conventional nuclear reactor next door to their old wind power plant. They’ve now condemned the old plant and scheduled it for official demolition in 2020 even though it’s still windy. Meanwhile, after years of arguing about the future of power, with one Perl sub-community maintaining their old solar power plant and another building a LFTR thorium reactor (safe but currently mostly misunderstood or ignored), some friends of both communities have built cabling that allows power to be shared between the two plants. )

    And with that smile I hope to see you all again next week for more Perl 6 news!