2019.15 Schrödinger

New Perl 6 blogger Tyler (aearnus) describes his discovery of Junctions in Perl 6 in a blog post called: GADTs and Superpositions in Perl 6, a really unique and flexible way of looking at problems – one that’s highly inspired by the functional, data-oriented paradigm. (Hacker News comments).

Weekly Challenge

Again, quite a few blog posts because of the third Perl Weekly Challenge. These are the blog posts with Perl 6 solutions:

And of note, the polyglot solution by Nick Logan, which runs in both Perl 5 and Perl 6.

Perl Toolchain Summit

Neil Bowers further reports on the plans for the coming Perl Toolchain Summit, in part brought to you by CPanel.

Perl DevRoom at Spanish FOSDEM

There will be a Perl DevRoom on 21 June at the esLibre 2019, which one could consider the “Spanish FOSDEM”. Please add your proposal for a presentation as a Pull Request to proposal repository. So far, it looks like there is a Perl 6 Tutorial on the menu already!

Nightly Docker images

Patrick Spek describes how his scripts are creating a Perl 6 Docker image every night on the various Linux flavours, and how that compares to the work that Tony O’Dell has done.

Lucky Arch Linux users

It appears that the Comma IDE Community Edition is now available to Arch Linux users if they activated the Arch User Repository in their package manager. And it appears to work like a charm.

Grant Voting Results

The Perl Foundation Grant Committee decided against the only proposal of this round: A Complete (Interactive) Perl 6 Course with Exercises by Andrew Shitov. This is sad news, but maybe not the last we’ve heard of this (Facebook comments).

Picat spacing out

Jeff Goff describes his work on creating a grammar for the Picat language. Which exposed a whitespace gotcha in grammars. (Facebook, Reddit comments).

A Language Creators’ Conversation

The PuPPy event at which Guido van Rossum, James Gosling, Larry Wall & Anders Hejlsberg sat together, has been neatly summarised in a blog post by David Cassel. Which is extra nice since the audio of the video is very bad.

Graphing DB schema

Edouard Klein got into programming in Perl 6 with a very nice command line script that turns CREATE TABLE statements into a graph (Reddit comments).

OWASP Perl 6 Wiki?

Charlie Gonzalez noticed that Perl 5 and Perl 6 frameworks are not very well represented on the Open Web Application Security Project. Volunteers are invited to take the necessary actions to remedy the situation.

Toggle Grayscale

Ricky Morse got inspired by a Python article about toggling the MacOS screen between black-and-white and colour. His Perl 6 solution with NativeCall is remarkably simple.

Core developments

  • Ticket status of past week.
  • Jonathan Worthington improved the inlining of native variables that were defined outside of the scope they were used in, which made some code about 4x as fast. He also removed unnecessary code generated for initializing native variables. This work made the spectest about 4% faster.
  • Christian Bartolomäus fixed some semi-long standing issues on the JVM backend.
  • Elizabeth Mattijsen fixed an issue that was preventing reproducible builds for packaging Rakudo Perl 6. She also introduced a warning to be shown when a MAIN powered command-line script is possibly unexpectedly waiting for input from the keyboard.
  • And some smaller fixes and improvements.

Questions about Perl 6

Meanwhile on Facebook

Meanwhile on perl6-users

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

A week with some nice new speed improvements. And again a nice crop of blog posts. Feels like spring! See you next week for more uplifting Perl 6 news!

Advertisements

2019.14 Challenge Taking Off

The Perl Weekly Challenge has generated quite a few submissions and associated blog posts (and of course the repository with submitted solutions). There’s now also a recap of the first challenge by Mohammad S Anwar. Keeping track of all the blog posts has become quite a job. Hopefully yours truly didn’t miss any in this overview:

Check out the guide for submissions if you’re thinking about adding your own Perl 6 solutions.

A Language Creators’ Conversation

Guido van Rossum, James Gosling, Larry Wall & Anders Hejlsberg sat together at the latest PuPPy meeting in Seattle and discussed language creation. Sadly, the audio of the video is very bad. Regardless of that, it spurred quite a discussion on Hacker News. Good to see Larry up and about!

Looking for Grant Committee Members

The TPF Grant Committee is looking for new members. Being a member involves needing to read any official grant proposals (which you might be reading already anyway), and submitting a vote once every 2 months or so, possibly after some mailing list discussion. (Facebook comments).

YACM

Or, welcome Patrick Böker, our latest Yet Another Core Member on the Rakudo Perl 6 project. Patrick was recently involved in making the build of Rakudo Perl 6 completely relocatable, which is very much welcomed by various packagers of Rakudo Perl 6. Looking forward to see much more of this good work!

Aearnus looking at Perl 6

A student at the University of Arizona for mathematics and theatre has written two blog posts about Perl 6 in the past week, which both created quite a stir.

The first one titled “A Whirlwind Tour of Perl 6’s Best Features” starts with:

It’s rare that I find a language that I truly feel innovates upon established conventions and features.

(Reddit comments). This blog post also started a large discussion on /r/programming titled Maybe it’s finally time to give Perl 6 a shot.

The second blog post was titled “Perl 6 is the World’s Worst ML (with addendum by Damian Conway)” (ML on Wikipedia), with quite a few comments on /r/perl6 and Hacker News.

Nice to see two such positive blog posts coming from an unexpected source!

Javascript backend update

Paweł Murias reports on the progress of the work on the Javascript backend of Rakudo Perl 6. Precompilation is still an issue. And a bug found in Chrome. And future plans! Kudos again to Paweł Murias for all this hard work. So good to see it coming to fruition!

Practical Perl 6 Regexes

Brian Duggan has published the slides of his presentation about Practical Perl 6 Regexes given at the DC Baltimore Perl Workshop last weekend.

Perl 6 not so full of art

A blog post showing that 93% of Paint Splatters are Valid Perl Programs completely disregarded the fact that with use strict (which has been recommended to be used always for at least past 25 years) this number would be closer to zero. Ah well, some people get stuck in the “then they laugh at you” phase (Hacker News comments with some Perl 6 references).

Swiss Perl Workshop CFP

About a week after the European Perl Conference, there will be the Swiss Perl Workshop 2019 in Olten on 16 and 17 August. The Call for Papers has been opened. Please submit your Perl 6 presentations for what looks it’s going to be another nice and cosy Swiss Perl Workshop!

Core developments

  • Ticket status of past week.
  • Jonathan Worthington fixed various memory leaks that occurred with certain types of long running programs and certain combinations of asynchronous and parallelizing features. He also made the inline limit settable per language, allowing for a smaller limit for NQP. This appears to make building and testing of Rakudo Perl 6 about 5% faster.
  • Patrick Böker fixed a build issue on Windows. And he also made sure that Rakudo will build and install on operating systems that do not have a bash installed by default.
  • Tom Browder improved the README.md to include notes about testing.
  • Ben Davies fixed handling of some edge-cases of parameters to ThreadPoolScheduler.cue.
  • Wenjie Sun fixed a problem with deprecation message of the handling of the RAKUDO_EXCEPTIONS_HANDLER environment variable.
  • And some smaller fixes and improvements.

Questions about Perl 6

Meanwhile on Facebook

Meanwhile on perl6-users

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

An exciting week with many submissions, blog posts and quite a few positive comments and support from unexpected corners of the interwebs. Tis looking a lot like spring! Please check in again next week for more news about Perl 6!

2019.13 No Jokes Today

(this space intentionally left blank)









Rakudo Star Release 2019.03

Naoum Hankache has announced the release of Rakudo Star 2019.03, the first Rakudo Star release to feature support for Perl 6.d. Thanks to Naoum Hankache and his team in getting this brave new release out of the door. And kudos to Steve Mynott for having done a Rakudo Star release so many times before!

Perl Weekly Challenge Fallout

The first Perl Weekly Challenge generated quite some blog posts and tweets. Here’s a selection that (also) mention Perl 6 solutions:

A second challenge has been published already! More Perl 6 solutions will be very welcome!

Zef plugins

Tony O’Dell introduces his work on creating zef plugins with an example of implementing a config parameter for zef for configuration management. This looks like some good ideas of git plugins have been assimilated!

I like Rakudo 100x

Wenzel P. P. Peppmeyer found a strange regression in Perl 6 and blogged about it. Which resulted in a Travis-CI test that should turn green whenever the bug gets fixed.

Staying composed

Paul Cochrane was frustrated about not being able to enter π on his keyboard, researched it and blogged about it extensively (Reddit comments).

Conditional whenever

Wenzel P. P. Peppmeyer actually wrote a second blogpost this week, this time about filtering the output of iostat, which uses a Supply that does nothing. I guess that is similar to Empty.

Space case

An interesting discussion about an addition to the group of CamelCase, snake_case and kebab-case: the space case, which looks like allowing space characters as part of identifiers. Shudder.

Perl 6 gather, I take

Arne Sommer has written a blog about gather and take, in which he shows several approaches to scrolling lines of text on a screen with a given delay. All part of preparations for his class at PerlCon 2019 (Reddit comments). .

No more Perl 6 Weekly

Yours truly explains why she won’t post the Perl 6 Weekly to the /r/perl Reddit anymore (Facebook comments).

Core developments

  • Ticket status of past week and the month of March.
  • Nick Logan JITted some more opcodes.
  • Timo Paulssen continued his work on the profiler.
  • Paweł Murias fixed several issues on the Javascript backend.
  • Elizabeth Mattijsen fixed an issue with named command line parameters and using a @ sigil in a MAIN signature.
  • Tom Browder fixed a problem with named parameters in pod config.
  • Patrick Böker fixed several build issues on various operating systems.
  • Christian Bartolomäus continued his work on unbitrotting the JVM backend.
  • And some other smaller tweaks and fixes.

Questions about Perl 6

Meanwhile on Facebook

Meanwhile on perl6-users

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

The original main article of this Perl 6 Weekly was an April Fool’s prank that involved both Perl 5 and Perl 6. It seems however, that yours truly would be the last person that should be allowed to do such a prank. It’s all serious business. Unjokingly, eviction from the community was suggested. Hopefully see you next week for less serious Perl 6 news. 🙂

2019.12 Cool Truck!

Tom Browder has proudly shown off his brand new Perl 6 vehicle tag. I guess the camel got modernized with a 6-speed automatic and air-conditioning 🙂

Welcome, Kane Valentine

Kane Valentine (also known as kawaii) has become the latest Perl 6 core developer. Looking forward to see more of his work on the Perl 6 core. As a really good start, Kane has committed to doing the next Rakudo Compiler Release!

Request for Members

The Perl Foundation Grant Committee, the people who vote on whether a grant proposal to the Perl Foundation is accepted or not, are looking for new members. Voting members review proposals every two months, including community feedback, and vote on whether to approve/fund the grant. Please leave a comment, or even better make your intent to be a Grant Committee member clear to Grant Committee chairman Will “Coke” Coleda.

Perl Conference 2019 Newsletter

The organizers of the Perl Conferences in Pittsburgh, PA (16-21 June) have published their March Newsletter, with requests to YAPC “regulars” and volunteers alike! And the fact that the early bird pricing will be available until the 15th of May! And a Golden Ticket option! Check it out!

Perl Weekly Challenge

The first Perl Weekly Challenge has been published. Check out Mohammad S Anwar‘s Perl Weekly FAQ for more information. Provided are a challenge for Beginners, and a challenge for Experts. Solutions can be given in either Perl 5 or Perl 6. Let the games begin!

London Perl Workshop Videos

The videos of the London Perl Workshop 2018 have been uploaded. The Perl 6 ones are:

Too bad only the presentations in the main room were recorded, so these Perl 6 related presentations:

were sadly not recorded.

Nightly Docker builds

Tony O’Dell has set up a nightly Perl 6 build on DockerHub. A quick and cool way to be able to test your stuff on the bleeding edge of Perl 6 development!

Reverse Linear Scan Allocation

Bart Wiegmans reports on the feedback that he got on his previous blog post in a new blog post. Food for compiler builder lovers! (/r/ProgrammingLanguages, /r/Compilers comments).

Heap Snapshots

Timo Paulssen reports on his progress of the heap snapshot profiler and how a new storage format reduced the size of a series of snapshots from 1.1 Gbyte to less than 100 Mbyte. Which implies you can save snapshots for a longer period before the size of the snapshots becomes really unwieldy! Can’t wait for the next update!

What’s in an ORM

Tony O’Dell also blogged about his ORM named DB::Xoos. He shows the key features of DB::Xoos, such as flexible configuration, relational modeling made easy, convenience methods and validation. Recommended reading for people who like Perl 5’s DBIx::Class.

Colonoscopy

Arne Sommer is on a roll. In the third article of his recently started blog, he describes all the different ways the colon can be used in Perl 6 (Reddit comments).

Rakudo Star RC2 available

Some issues were found with the first Rakudo Star 2019.03 candidate, so there is now a second 2019.03 Rakudo Star candidate. Please download and check it out on as many systems you can, and report any issues you may find. Thank you!

Missing math/statistics functions

Aleks-Daniel Jakimenko-Aleksejev started an issue about missing math / statistics functions, such as clip (or clamp), mean, median. Comments welcome!

Core Developments

  • Ticket status of past week.
  • The hard work of Patrick Böker of the past months to make the installation of Rakudo Perl 6 relocatable (in MoarVM, NQP and Rakudo) has been merged.
  • Nick Logan provided many more JIT templates Pull requests, so far only two (for nqp::clone, and nqp::cpucores on the Javascript backend) have been merged.
  • Timo Paulssen continued working on the heap snapshot analyzer.
  • Elizabeth Mattijsen implemented tests to scan for unintended leakage of identifiers into the CORE::, SETTING:: and PROCESS:: namespaces. And she also fixed a potential segfault when iterating over SetHash, BagHash and MixHash objects (and deleting objects on the fly). And made sure the USAGE message of a script is more sane when trying to show only those candidates that already partially match.
  • Vadim Belman fixed a pesky error in which multi-dispatch was selecting the wrong proto when run inside a BEGIN block. And provide better error messages when trying to execute operators with Real type objects, similar to Date.
  • And some smaller tweaks and fixes.

Questions about Perl 6

Meanwhile on Facebook

Meanwhile on perl6-users

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

Cool to see the number of new modules exceeds the number of updates! New modules:

Updated modules:

Winding Down

So many cool things this week: relocatability (seen by many as a prerequisite for proper packaging), nightly Docker builds, a new core developer and releaser and more new modules than updated ones. Yours truly likes to see that very much! More about that next week!

2019.11 Complete Course

Andrew Shitov would like to know how you like his grant proposal for creating a complete course with exercises covering all aspects of Perl 6, aimed at everyone who is familiar with programming. A course that can be used in self-studying or as a platform for a class. Be sure to leave your comments! (Endorsement on Twitter).

February Grant Report

Jonathan Worthington reports on his progress in the month of February: about escape analysis, scalar replacement and more aggressive optimizations of inlined code.

Linter for YAML files

Alexey Melezhik introduces a new Sparrow6 plugin that checks the validity of YAML files. Good to be aware of if you’re editing YAML files on a regular basis.

Gibberish

Arne Sommer has written a blog post about why and how to create gibberish using Perl 6. All to be part of the 2 day course “Beginning Perl 6” he’ll be giving at the European PerlCon in Riga in August. (Reddit, Twitter comments).

Aλhambra Day

An event about functional programming in Granada on the 6th of April, will see a presentation about functional programming in Perl 6 by none other than Elena Merelo! (En Español)

Videos from TechMeet

Two Perl 6 videos from the last London.pm Technical Meeting:

Impressions from GPW 2019

Martin Becker shared his impressions about the German Perl Workshop in Munich. With some good and some not so good about Perl 6. And the Worst Pie Chart Ever!

European PerlCon news

Two more sponsors: perlmaven.com and The Perl Shop. Also, time is running out on Early Bird pricing of tickets. And don’t forget to check out the brilliant PerlCon Teaser for Jonathan Worthington‘s workshop!.

Twin Projects

Mohammad S Anwar describes how two projects kept him busy in the past week: one of them being another London Hack Day, and the other about a Weekly Perl (5 or 6) challenge.

Why operators are useful

Guido van Rossum has written a blog post on why operators are useful, and whether or not adding an operator for merging two hashes is a sensible thing to do. It also mentions Perl, presumably Perl 6. (Twitter, Reddit comments).

Types are moving to the right

Roman Elizarov takes a look at a lot of older and newer programming languages and comes to the conclusion that modern languages specify their types to the right of the variable. (Twitter, Reddit comments).

Something about IR optimization

Bart Wiegmans has blogged about his progress on optimizing the intermediate representation of code. Very graphic, hard core stuff!

Core Developments

  • Ticket status of past week, with an extreme number of updated tickets thanks to Lucas Buchala labelling 250+ previously unlabelled issues.
  • Aleks-Daniel Jakimenko-Aleksejev released a 2019.03.1 release of the Rakudo Compiler, to fix an issue that was found on Windows while testing the Rakudo Star 2019.03 Release Candidate.
  • Jonathan Worthington merged all of his optimization work of the past month or so.
  • Nick Logan‘s work on creating an nqp::uname, that removes the need to shell out to uname, was merged.
  • Paweł Murias fixed various issues on the Javascript backend in nqp.
  • Audiatorix provided the incentive to create better error messages when map gets fed something other than a Callable.
  • Sergio Ortiz Rojas suggested making Failure.new on an instantiated Failure object to throw, rather than silently create a new Failure object.
  • And some other fixes and improvements.

Questions about Perl 6

Meanwhile on Facebook

Meanwhile on perl6-users

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

A nice week with plenty of thought-provoking blog posts and comments. And some nice new optimizations as well. Be sure to tune in next week for more Perl 6 news!

2019.10 Released. A. Lot.

This week saw a lot of long awaited releases. Most important is probably the announcement of the release of the free Community Edition of Comma, a powerful, yet free, Perl 6 IDE (/r/perl/, /r/perl6 comments). And at a small subscription fee, you get even more features, such as test coverage reporting, profiling and more refactoring tools. Please feel free to try out the free version before deciding on needing more functionality!

Rakudo 2019.03 Released

Aleks-Daniel Jakimenko-Aleksejev and Samantha McVey hung on in there and got the Rakudo Compiler Release 2019.03 out of the door. Which means the world will never see a 2019.01 or a 2019.02 release of Rakudo Perl 6. And it will give people some more time for the 2019.04 release!

Claudio Ramirez made sure there are new Linux packages for this release. And JJ Merelo, just a few days later, announced brand new Docker images. And Naoum Hankache created a release candidate for Rakudo Star 2019.03: please check it out so that this can be released to the general public soon!

JIT Grant report

Mark A Jensen reports on the progress that Bart Wiegmans is making on his MoarVM JIT Compiler Expression Backend Maturation grant. The report also hopes for advice on a register allocation conundrum that the grantee is facing.

Perl6.eu

Arne Sommer has started a new blog about Perl 6. In his first post he expands on some “what if” scenarios in which the “$” sigil is replaced by either ““, or even “£“. Yours truly wonders why “¥” was left out of this research :-). The article shows some interesting attempts at making the alternate sigils work, especially about the problems encountered when subclassing the Perl 6 grammar itself (Reddit comments).

German Perl Workshop

Three days of Perl presentations in a Bavarian background. Thomas Klausner is the first to blog about it (“Perl 6 keeps getting to look cooler and cooler”). And then there are the slides of most of the Perl 6 related presentations:

And to give you a visual impression: Wendy van Dijk has started uploading many, many pictures of this German Perl Workshop.

Fukuoka Perl Workshop

Slipped by the attention of yours truly, but last weekend also saw the 28th Fukuoka Perl Workshop, with at least one Perl 6 presentation by AnaTofuZ: Inside of the Perl 6.

European PerlCon Monthly Update

Andrew Shitov has posted the update of March for developments relating to the European Perl Conference in Riga. Such as a Perl 6 presentation about Console-oriented Sites by Igor Chubin. Or the available workshops before the conference starts. Or the Send-A-Newbie program, kindly sponsored by Geekuni.

Weekly Perl 6 Challenge

Mohammad S Anwar is still looking for people willing to participate in a Weekly Perl challenge, be that in Perl 5 or Perl 6. Please drop him a line at mohammad.anwar@yahoo.com if you’re interested. And remember, you don’t have to be an expert to join the challenge!

Core Developments

  • Ticket status of the past week.
  • Many ops are now also JITted, thanks to the work of Daniel Green. He also added a smrt_intify for faster string -> integer conversions.
  • Timo Paulssen continued his work on the heap profiler.
  • Stefan Seifert fixed a problem in the JIT of the readuint op.
  • Paweł Murias improved the stack trace of exceptions thrown by code in an EVALFILE.
  • Elizabeth Mattijsen improved the .perl representation of a Parameter object, specifically if it was a constant.
  • Nick Logan fixed some issues with the Kernel shelling out to uname to obtain certain kernel related information.
  • And not a lot more on account of the releases and the German Perl Workshop.

1000+ Questions about Perl 6

The 1001st Perl 6 question on StackOverflow has been asked!

Meanwhile on Facebook

Meanwhile on perl6-users

  • lp0 by ToddAndMargo.

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

Plenty of good, new and exciting things happened the past week. Conferences and workshops are always a good reason to get stuff out. Too bad that means that the work on the core suffers. Pretty sure that will pick up again in the coming week. So see you at the next Perl 6 Weekly!

2019.09 Cool Stuff This Summer

It’s official: the Perl Foundation is one of the organizations participating in the Google Summer of Code this year. So if you are a student looking for some cool things to do this summer related to Perl 6 (but also Perl 5 if you are more so inclined), be sure to contact Mark Keating, Makoto Nozaki or JJ Merelo. If you’d like to participate but don’t have any inspiration yet, have a look at the current list of ideas! (Facebook comments, related tweets: 1, 2).

German Perl Workshop

The German Perl Workshop is almost here (6 – 8 March). In the final program, there are quite some Perl 6 related presentations:

Hope to see you there!

Swiss Perl Workshop Dates

Lee Johnson didn’t keep us in suspense very long: the Swiss Perl Workshop 2019 will be on 16/17 August, about a week after the European Perl Conference. This should make it easier for travellers from far away to combine the two events, with some vacation in Europe inbetween.

Future features of Sparrow

Alexey Melezhik has blogged about the future features of Sparrow, and about how he’s progressing on porting all of Sparrow to Perl 6 (from Perl 5).

London.pm Tech Meet

Mohammad S Anwar describes the first Tech Meet of 2019, with Perl 6 presentations by Simon Proctor (about meta-operators) and Fernando Corrêa de Oliveira (about the Red ORM).

An API for Holidays

Tom Browder has taken on to blogging about his journey of creating a Perl 6 version API for Holiday API (Public Holidays and Observances for Developers). It’s indeed great to see Perl 6 there in the list of supported languages, with Python, Ruby, PHP, Go and Node.js! (Reddit comments).

And the winner is…

Alexander Kiryuhin (Altai-man) is the winner of last weekend’s Squashathon. The plushy Camelia will be in the mail to him shortly. Congratulations! And also thanks to all of the other people that have participated!

Core Developments

  • Ticket status of last week and the month of February.
  • Daniel Green improved the error message on sprintf if a value could not be coerced to the type indicated in the format string.
  • Paweł Murias made it possible to evaluate generated code at runtime in the browser (on the Javascript backend).
  • Vadim Belman fixed a problem with gisting certain values in certain error messages.
  • Code by Jeremy Studer fixed an issue with laziness detection of the [\+] meta-operator.
  • Nick Logan replaced the internal JSON parser with one that is based on JSON::Fast, which should make zef quite a bit faster.
  • Code by Vittore F. Scolari made the say statement about 8% faster.
  • And some other fixes and improvements

Questions about Perl 6

Only 9 questions to go for 1000 StackOverflow questions!

Meanwhile on Facebook

Meanwhile on perl6-users

Meanwhile on Twitter

Perl 6 in comments

Perl 6 Modules

New modules:

Updated modules:

Winding Down

It’s good to see a lot of tweets, new modules, updated modules, presentations, and to top it off this week, participation in the GSOC. Cool stuff. See you again next week, when yours truly will tell you how she recovered from the German Perl Workshop and the trip there and back again.