2018.34 A Quick One From Tyndrum

While enjoying some touristic activities in the Northern parts of Scotland (well, North of Glasgow anyway), this Perl 6 Weekly comes from the town of Tyndrum. According to the Wikipedia article:

Thus unusually there are two stations serving the same small village, only a few hundred yards apart, but about 10 miles (16 km) apart by rail.

Which yours truly finds oddly descriptive of the situation in the Perl community: so close, yet seen as so far apart by some.

The Perl Conference in Glasgow

And what an excellent conference it was! And live-streamed as well all over the world. Some blog reports have already surfaced, all of them referencing Perl 6 in some form or another:

By next week, there will be separate videos for each presentation. Until then, you will have to do with the raw recorded live-streams.

Alas, not all things where hunky dory: Mark Keating issued a formal apology for things that had gone wrong (Reddit comments).

Other Blog Posts

Core Developments

Alas, too much R&R to dive into this with the appropriate amount of depth and precision. Hopefully next week a 3-week overview.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on PerlMonks

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

Having done a whole-day workshop + a last-minute presentation has taken a lot of energy from your truly. Good thing the weather cooperated for a time by being typical late-summer weather for Glasgow. Please check in again next week for more Perl 6 news!

Advertisements

2018.33 A Quick One From Glasgow

Greetings from the city that will host The (European) Perl Conference this week. A lot colder and wetter than yours truly got used to the past 6 weeks. It takes a little getting used to.

FOSDEM 2019 – Call for Speakers

Wendy van Dijk has issued a Call for Speakers for the Perl DevRoom at next year’s FOSDEM in Brussels (2/3 February 2019). This would be a good time to send in your Perl 6 related talk proposals!

Blog Posts

Core Developments

More about that next week when yours truly is less tired.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

As predicted last week, this week’s Perl 6 Weekly is slightly later and smaller than usual. Hopefully next week yours truly will have more time while feeling better. So, see you next week!

2018.32 Squashathon Done

This weekend’s Squashathon was the best Squashathon so far: 29 contributors have worked on 276 issues of the 314 issues that were found with modules in the Perl 6 ecosystem. At the moment of this writing, only 24 remained open. Fortunately, many of the issues were uninstalled native library issues. Installing the native library in many of the cases, solved the problem that the ecosystem toaster had found. But other cases were much more problematic and needed a lot of research.

Most of the preparatory work was done by Aleks-Daniel Jakimenko-Aleksejev, kudos for that! And kudos to all of the participants, some of who spent many hours trying to figure what it really was that was going wrong with a module, to make the whole ecosystem better.

Marketing Perl 6

Zoffix Znet has put a lot of time and effort into creating marketing materials for Perl 6. In a blog post titled: Introducing: Perl 6 Marketing Assets Web App, he immediately introduced the Perl 6 Marketing Assets Web App. This led to some comments on FaceBook and blogs.perl.org. Yours truly is looking forward to many more Perl 6 marketing materials. Do you have an idea to promote Perl 6? Please be sure to leave an issue in the Perl 6 Marketing Repo!

Rakudo Star 2018.06

Steve Mynott has just announced the Rakudo Star 2018.06 Release, which can now be downloaded. Because there was no 2018.07 Compiler Release of Rakudo, the Rakudo Star release is based on the 2018.06 Rakudo Compiler release.

Small stuff

Jo Christian Oterhals has written another fine blog post about Perl 6: Perl 6 small stuff #4: Why Perl isn’t COBOL nor Python nor Java (or… having fun with Rats). It made a lot of people comment: /r/perl, /r/perl6 and Twitter: #1 and #2. Yours truly can only say: keep up the good work, Jo Christian!

Newcomers Guide To Contributing

Zoffix Znet has written a blog post about the Newcomer Guide to Contributing to Core Perl 6, which introduces a draft version of that guide. Reactions could be found on FaceBook and Twitter!

Comma, a Perl 6 IDE

Jonathan Worthington has had an interview with the people of JetBrains about the Comma IDE, an integrated environment for development and debugging of Perl 6 programs. Comments were found at FaceBook and on Reddit.

Command Line Arguments

Luis has written a nice blog post about the Command line arguments in Perl 6. For some reason, it has been relatively unnoticed (so far). Hopefully, that will change now, as it is a nice introduction into the multitude of possibilities with command line argument handling in Perl 6!

Ping Pong

Brian has started a new blog, with its first article about message passing between threads in Perl 6. Zoffix Znet liked it.

A Long Sad Story

raiph successfully started a discussion about Regexp Ranges and Locales: A Long Sad Story, and how that is still Less Than Awesome in Perl 6.

Migrating Perl 5 code

Elizabeth Mattijsen started a series of 12 articles about the migration of Perl 5 code to Perl 6. This gave rise to comments on Reddit.

Core Developments

  • Ticket status of last week and the month of July.
  • Daniel Green fixed a large number of compiler warnings when compiling MoarVM with clang. He also optimized array slices if they consisted of only literal index values, and made Buf.subbuf about 8x as fast.
  • Bart Wiegmans finally merged a refactor of a part of the JIT expression engine, on which he’d been working at least 6 months, making it easier for everybody to create JIT templates.
  • Zoffix Znet cherry-picked and adapted some of his work on the cancelled rationals grant.
  • Tom Browder implemented proper support in Perl 6 pod for =defn definition lists.
  • Jonathan Worthington wrote an RFC about possible ways to implement more binary handling primitives in MoarVM and Perl 6. Please leave a comment if you feel you can add to the discussion.
  • Elizabeth Mattijsen slightly changed the semantics of the set operators that do not return Bool. They will now return a mutable version of the result if the first operand of the set operator was also mutable.
  • And many other smaller fixes, optimizations and improvements.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Please note that updated modules exclude the modules that are updated, but which are not (yet) on CPAN. CPAN uploads are one place to check, updates to many hundreds of different repositories is something that will need to be automated:

Winding Down

Wow again. Hot Stuff. And not only outside!

Next week’s Perl 6 Weekly might come a little later, possibly on Tuesday, because yours truly will have been busy giving the Making your Perl 5 Modules work in Rakudo Perl 6 workshop at The Perl Conference in Glasgow on Monday. Which, through an unfortunate planning situation, runs in parallel with Jeff Goff‘s ‎Introduction to Perl 6 workshop. Both of which still have seats available (hint, hint!).

See you sometime next week for more news from the exciting world of Perl 6!

2018.31 Check Out Garbage

Timo Paulssen reported on his latest work (FaceBook comments) on the Perl 6 Performance Analysis Tooling Grant, this time mostly related on tracking the performance of the Garbage Collector in MoarVM. Although not ready for prime-time yet, this reports tantalizingly shows us things to come in the near future for the Rakudo Perl 6 profiler functionality.

On Scalar and opposite ends of Grants

Just before going on a well deserved holiday, Jonathan Worthington wrote another blog post about his latest work: Redesigning Rakudo’s Scalar. It explains how Scalar containers have evolved over the years, and how being able to handle them now as any other piece of Perl 6 code, will allow many future optimizations. This work concluded 200 hours of work on the grant extension request of last January. To make sure he can continue this excellent work, he has submitted another grant extension request to allow him to do another 200 hours. Comments on that new request are welcomed!

The Perl Conference in Glasgow

The schedule of The Perl Conference in Glasgow is now available for your perusal. It contains the following presentations that have at least some Perl 6 in them:

And for those of you interested to get your feet a little more wet in Perl 6 than you have done so far, there are two whole day Perl 6 workshops to choose from (at a little extra cost):

Hope to see you all in Glasgow, in just about 2 weeks from now!

Squashathon this weekend!

It being the first Saturday of the month again, there will be another Community Squashathon on 4 August (all timezones included), this month focussing on fixing failing tests of modules in the Perl 6 ecosystem. Please join us for free virtual pizza and hugs as we squash some bugs!

Presentations in Toronto

Zoffix Znet did not one, but 2 presentations at the last Toronto Perl Mongers meeting. Of both there are at least the slides and a screen cast available:

Alas, there is no video available of these presentations (yet).

No 2018.07 Rakudo Compiler Release

After much deliberation and discussion, it was decided to skip the 2018.07 Rakudo compiler release. As this release was supposed to become the base of the 2018.07 Rakudo Star Release, it was extra important that this Rakudo Perl 6 release would be stable enough. Unfortunately, some elusive issues have dragged out the release for the past 2 weeks or so already. And did not improve the trust in the stability of a 2018.07 Rakudo Compiler Release. So the release manager Aleks-Daniel Jakimenko-Aleksejev made the difficult decision to skip this month’s release (knowing that the next release is planned less than 3 weeks away) and have all of the recent refactoring and improvements stew for a little more before giving the world a taste of it.

However, the release manager of Rakudo Star, Steve Mynott, does intend to release a Rakudo Star distribution, but based on the 2018.06 Rakudo compiler release. For which there are now Release Candidates available (.tar, .msi (for Windows) and .dmg (for macOS)). Please take the time to test these in your environment and let us know should you find any issues!

Other core developments

  • Ticket status of last week.
  • Samantha McVey added extensive testing for the SipHash hashing algorithm in MoarVM and slightly optimized the SipHash itself.
  • Bart Wiegmans found the underlying issue that plagued MoarVM on Windows, and removed the offending commit for now.
  • Jeremy Studer made it possible to slice NativeCall‘s CArrays just like any other Array.
  • Zoffix Znet deprecated the environment variable RAKUDO_EXCEPTIONS_HANDLER in favour of PERL6_EXCEPTIONS_HANDLER. He also continued his work on preparing the 6.d release.
  • Elizabeth Mattijsen fixed a potential issue when wrapping a proto preventing it from getting optimized away. She also added support for does on attributes and made sure that `for` loops with an integer range consisting of sigilless constants, are also highly optimized.
  • And various other smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

Going into the 5th week of heatwave at where yours truly lives, it is sometimes hard to think, even with the airco on HIGH. Hope you all can manage the summer on the northern hemisphere in good health. See you again next week for more Perl 6 news!

2018.30 Triplicate Guts

In the past weeks, Jonathan Worthington has done a lot of work refactoring MoarVM / NQP / Rakudo internals to set the stage for many future optimizations, made possible by the Perl Foundation. Last week he’s reported about them in not 1, not 2, but 3 blogs posts:

Recommended reading if you want to know more about what is going on behind the scenes in Rakudo Perl 6.

German Perl Workshop Videos

The videos of the German Perl Workshop 2018 are now available for your perusal. These videos have Perl 6 related content in them:

Core Developments

  • Ticket status of last week.
  • Potential breaking change undone (see last weeks Core Developments): the is required trait does make sense on private attributes in a class, so it will no longer cause an exception when specified on a private attribute.
  • Jonathan Worthington mostly spent his time on fixing bugs that were uncovered by the latest round of refactoring. He also re-instated two bugs (one about returning a Proxy object from a subroutine without the is rw trait, the other related to slangs): fixing these broke too many ecosystem modules.
  • Timo Paulssen made it possible to have the system decide for an asynchronous socket on a host/port to listen to, and be able to find out which host/port they are actually on.
  • Jonas Kramer made sure that file extensions and executability flags are set correctly on all of the internal scripts.
  • Jeremy Studer added a lot of JIT-templates.
  • Zoffix Znet continued his preparations for the 6.d release of Rakudo Perl 6. He also fixed a bug that would refer to a wrong scope when currying a WhateverCode.
  • Joelle Maslak improved error reporting when using Perl 5 style positional captures (like \1 instead of $1) in a regular expression.
  • Samantha McVey chased a strange hashing error that appears to only happen when MoarVM is compiled with an ancient libc.
  • Elizabeth Mattijsen made the is required($reason) trait on attributes work again. She also fixed an issue with calling .roll and .pick on Ranges with very large integer values.
  • And many other fixes and improvements.

Meanwhile on Twitter

If you are tweeting about Perl 6, please include @perl6org in your tweet if you would like to have it retweeted by the Perl 6 News Feed.

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 modules

New Modules:

Updated Modules:

Winding Down

Most of the work of the past week, was making triply sure that the 2018.07 compiler release would not break anything in the ecosystem. This is hard work. Which makes one long for a vacation. Perhaps next week? See you then!

2018.29 Cross-pollination

With a pollen-rich environment this time of year in the Northern hemisphere, it is to be expected that some cross-pollination will take place. In an unexpected twist, the question “What are some features new to Perl 6 that should be adopted by other languages?” created some interesting answers on Quora and Reddit. Which then gave rise to the more expected question “What feature in another language would you like to see adopted in Perl 6?” with equally interesting answers.

New Marketing Poster

Futureproof Perl 6Zoffix Znet has created a thought provoking marketing poster in the Perl 6 Marketing repository (FaceBook comments). It references Paul Graham‘s concept of a hundred year programming language. A quote from this blog post of 2003:

There are some stunningly novel ideas in Perl, for example. Many are stunningly bad, but that’s always true of ambitious efforts. At its current rate of mutation, God knows what Perl might evolve into in a hundred years.

To which yours truly can only add with 20/20 hindsight: I think we’ve had most of the “stunningly bad ideas” in Perl 6 by now.

Cancellation

Zoffix Znet announced in his blog post titled “Cancellation of Perl 6 Constants and Rationals Grant that he will cease working on the “Bugfixing and Performance of Rationals Fixing Constraints on Constants grant.

In conclusion, I believe were this grant to be completed, the result would differ significantly from what was voted on during grant’s proposal. For that reason, I wish to cancel it.

Yours truly would like to thank Zoffix Znet for all the (now volunteer) work that he has put into this.

Core Developments

  • Ticket status of last week.
  • Potential breaking change: the is required trait does not make sense on private attributes in a class because private attributes will never be assigned by the default object building logic (aka .new). To avoid confusion, adding is required to a private attribute is now a compilation error.
  • Jonathan Worthington did an enormous amount of work on providing the prerequisites for the next round of speeding up Rakudo Perl 6, and Timo Paulssen helped him with this. Unfortunately, this also meant some ecosystem breakage that is in process of getting fixed. Hopefully all of this will be summarized in a soon to be published blogpost.
  • Samantha McVey continued her work on low-level hashes in MoarVM, now using a SipHash based algorithm. While doing this, she also managed to reduce the memory usage of each key in every hash by 8 bytes.
  • Zoffix Znet fixed several issues regarding the initialization of decoders in IO::Handle, and the immutability of the result of Proc.command. He also did a lot of preparation work for the future 6.d language version.
  • Aleks-Daniel Jakimenko-Aleksejev focused on various issues with regards to the installation of Rakudo.
  • Daniel Green fixed an issue with regards to decontainerization of !=.
  • Elizabeth Mattijsen fixed an issue with concatenation of two Junctions. She also improved the speed of .sum on native integer arrays (1.2x as fast normally, 35x as fast with the new :wrap named parameter) and improved the immutability of Map while making initalization of a Map between 1.5x and 4x as fast.
  • And many other smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

On the hottest day of the year (so far), it was quite a job again to get the Perl 6 Weekly together. So much happening! Yours truly hopes to be able to keep this up until next week. See you then!

2018.28 Введение в Perl 6

Alexander Kiryuhin has made it possible for yet another 170 million people in the world to get introduced to Perl 6 in their native language: Russian (Большое спасибо!). This now brings the number of translation of the original Introduction to Perl 6 to 12: Bulgarian, Chinese, Dutch, French, German, Indonesian, Italian, Japanese, Portuguese, Russian, Spanish and Turkish. Which means that now over 3 billion people can learn about Perl 6 in their native language.

Credit where credit is due

Zoffix Znet describes how bugs in a script caused some contributors not to be mentioned in the monthly Rakudo compiler releases. His blog post “The Missing Contributors of Perl 6 describes in detail how the bugs got introduced, how it affected the report generation, and how a Reddit post from a person claiming to be the only person to never receive any credit for their work on Perl 6, got him to look into this. In the end, the following people (who are not already in the CREDITS of Rakudo Perl 6), were not credited when they should have been:

A. Sinan Unur, Alexey Melezhik, Antonio, Antonio Quinonez, Benny Siegert, bitrauser, brian d foy, Brian Duggan, cc, Christopher Bottoms, Coleoid, coypoop, Dabrien ‘Dabe’ Murphy, Dale Evans, Dan Zwell, Daniel Dehennin, Daniel Perrett, Dave Olszewski, David Brunton, David H. Adler, Dominique Dumont, Douglas L. Schrag, elenamerelo, Emeric54, Eric de Hont, fireartist, Fritz Zaucker, gotoexit, Jake Russo, James ( Jeremy ) Carman, Jason Cole, Jeff Linahan, Jim Davis, JJ Merelo, jjatria, Joel, John Gabriele, Julien Simonet, LemonBoy, Marcel Timmerman, Mario, Mark Montague, Martin Barth, Martin Dørum Nygaard, Martin Ryan, Mathieu Gagnon, mryan, Nadim Khemir, Nat, Neil Shadrach, Nic Q, okaoka, parabolize, Patrick Sebastian Zimmermann, Paul Smith, Philippe Bruhat (BooK), Rafael Schipiura, raiph, Robert Lemmen, Robert Newbould, Salvador Ortiz, Siavash Askari Nasr, Simon Ruderich, Skarsnik, Sylvain Colinet, sylvarant, vinc17fr, VZ, wukgdu.

Again, kudos to all these people and the work they have done for Perl 6. Apologies for not having done this at the proper time. Also, always remember Hanlon’s razor!

Documentation Squashathon results

As JJ Merelo tweeted, it was Squashathon time again last weekend. You could use this very useful flowchart to find out where the best place would be for you to start. A flowchart that will generally be useful for some time to come! And the results are in: 18 people created 154 commits and 7 pull requests! The next Squashathon will be on 4 August.

JITting quite a while already

Nudged by a comment on Hacker News, Bart Wiegmans explains that MoarVM has had a JIT for quite some time already. That maybe the naming of spesh and jit in MoarVM (as opposed to JIT frontend / backend) may be the root cause for this lack of understanding.

Perl 6 Workshops at TPC in Glasgow

There will not be one, but two whole day Perl 6 workshops on Monday 13 August at the Perl Conference in Glasgow:

Each priced at a mere £125 (about 142 euro / 167 US$), you can buy your tickets here.

Five Years of SPW

Lee Johnson is looking back on five years of the Swiss Perl Workshop, which had quite a lot of Perl 6 related activities, such as a hackathon to work out the “Great List Refactor” needed for the Christmas 2015 release of Rakudo Perl 6! This year’s Swiss Perl Workshop will be in Bern on 7 / 8 September. You can still submit a talk. And of course, you can still register for this free workshop!

Understanding Perl 6 concurrency

A question on /r/perl6 created an interesting set of links if you want to better understand concurrency in Perl 6!

New sticker

Yours truly introduced a new sticker at the Dutch Perl Workshop last weekend. These will be available for free at all events that yours truly is able to visit in the foreseeable future. Interested in getting a few beforehand? Contact me on #perl6 on irc.freenode.net! Or download the image and make them yourself, or order a local sticker maker to make ones for you!

Core developments

  • Ticket status of last week.
  • Jeremy Studer and Ben Davies continued working on improving MoarVM JIT expression templates.
  • Jonathan Worthington continued his work on refactoring handling of Scalar containers, specifically focused on fact collection for spesh, inlining and de-optimizations. This work has now been merged.
  • Samantha McVey fixed a number of compiler warnings in different compilers and continued her work on making the implementation of hashes on MoarVM faster and more tamper-resistant. She also made the low-level native int to str conversion 2x as fast by not relying on sprintf.
  • Jonas Kramer made sure that the error that is thrown when a module can not be found for loading, shows the line in which the use statement occurs.
  • And some smaller fixes and tweaks.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

Quite a busy, but very “gezellige” week. Meeting old friends at the Dutch Perl Workshop, is one of the best things you can do on a hot weekend. The Perl Community at its best! Looking forward to all of the other Perl events in the future. Until then, see you next week for another Perl 6 Weekly!