2018.09 Say Cheese.d

Zoffix Znet has given an excellent insight into how Perl 6 developers introduce changes to the compiler and the language in his blog post On Specs, Versioning, Changes, and… Breakage (Reddit comments). It makes clear that over time, the story of Perl 6 will have fewer and fewer plot holes. A recommended read!

Are you near Brno this Thursday?

Then that’s your change to see Jonathan Worthington give a presentation on Cro and Perl 6’s concurrency features. Wish I could be there!

Rakudo Compiler Release 2018.02

The past week saw not one, but two Rakudo Perl 6 compiler releases. Aleks-Daniel Jakimenko-Aleksejev did all the hard work to do a 2018.02 as well as a 2018.02.1 release. The latter contains a hot fix for a boo-boo. Fortunately, all Linux packages have already been updated by Claudio Ramirez.

Other Core Developments

As promised last week, an overview of developments of the past 2 weeks:

  • Ticket status of past week and the week before that.
  • Jonathan Worthington fixed a memory leak with one-shot timers, such as Promise.in(2). He also implemented a nqp::tryfindmethod op as an optimization to nqp::can and nqp::findmethod.
  • Bart Wiegmans fixed an (apparently long-standing) problem with nqp::if in spesh: “It is amazing we got away with this hack for so long”.
  • Samantha McVey worked on the strict decoding of the windows-1251 and windows-1252 encodings.
  • Nick Logan added a nqp::getppid op to get the pid of the parent process.
  • Timo Paulssen did some more preparations for the work on the multi-threaded profiler.
  • Zoffix Znet fixed various issues with eof detection on zero-sized files on MoarVM. He also made the gist of a Backtrace more informative, and made the return value of Str.subst-mutate(:g) consistent whether or not the underlying match succeeded. On the efficiency front, he did some amazing performance improvements on Uni.list (15x to 653x). And he implemented IO::CatHandle.handles, which gives you a Seq of the IO::Handles of which it consists. And fixed an issue with the last statement of a for loop not being sunk.
  • Tom Browder added a lot of tests and documentation to nqp. He also renamed the spew sub in nqp to spurt to align with how that functionality is called in Rakudo Perl 6. And he added a run-command sub to nqp.
  • Christian Bartolomäus fixed various old and new issues specific to the JVM backend.
  • Elizabeth Mattijsen made sure that Cool.subst-mutate will not actually convert the object to a Str if the underlying match failed. And she started working on converting all public only subs to multi subs, allowing candidates to be added by developers in their programs without losing the built-in one.
  • And many, many other smaller error fixes and improvements.

Other Blog Posts

Meanwhile on StackOverflow

Meanwhile on Twitter

Meanwhile on FaceBook

  • Andrew Shitov:

    I wrote a “Blinking LED Hello World” in Perl 6 for Orange Pi today.

    for True, !* ... * {
         shell("gpio write $pin " ~ +$_);
         sleep 0.5;
    }

    It is cool that you can use such a sequence True, !* ... *
    *snip*
    It would be nice to have fresh packages for major OSes beyond Windows and OS X listed on the official site.

Meanwhile on perl6-users

Meanwhile on PerlMonks

Perl 6 in comments

Winding Down

Plenty of excitement in the world of Perl 6 again this week. And yours truly feeling a bit better yet again. Looking forward to being able to do next week’s Perl 6 Weekly. Hope you are too. See you then!

Got something to note?