2016.20 Packaging Progress

Everything is larger in Texas, I guess. Like catching up with friends and needing more time to get rid of jet lag. So apologies for the delay, but here is your weekly dose of news from the Perl 6 world, straight from the OSCON in Austin, Texas. Where Jeff Goff gave an excellent 3.5 hour “Introduction to Perl 6” Tutorial yesterday, and TimToady will give the Perl 6 – Believe It Or Not! keynote in Ballroom A tomorrow.

The Perl Conference Returns

It seems fitting to write about The Perl Conference while at OSCON, which started life as “The Perl Conference” before becoming a more general Open Source Event. This year, the Perl Conference (aka YAPC::NA) has gotten its name back. It will be held on 20, 21 and 22 June in Orlando, Florida, with tutorials given on 19, 23 and 24 June. Most of the conference schedule is already available, with these Perl 6 related highlights:

And of course, I expect there will be quite a few lightning talks with a Perl 6 reference. 🙂

YAPC::Europe 2016

The main European Perl Conference (still called YAPC::Europe at this point in time), will be held on 24, 25 and 26 August in Cluj-Napoca, the Silicon Valley of Romania. No schedule available yet, but you can still submit your Perl 6 talk!

Core Developments

  • The work that Jonathan Worthington described in his Framing The Problem blog post, has been merged in MoarVM and bumped to Rakudo. The major change is really how call frames are managed. It is also the first (and largest) part of a number of improvements regarding invocation and closure handling. The changes so far are mostly likely to help programs that do CPU-bound parallel work, or that keep many thousands of closures in memory. The testing of all of these changes, also shook out a number of other bugs, which also got addressed.
  • Stefan Seifert merged a large chunk of work on the PrecompilationStore overhaul. The way precompilation files and the accompanying dependency information is stored was completely redesigned, so it’s no longer necessary to have a file lock on the PrecompilationStore for read access (i.e. for loading modules). This change also removes the need to have write access to the standard repositories, meaning that you no longer get permission errors with a system wide rakudo installation. It’s now also possible to store the result of dependency verification necessary when (probably unrelated) modules were installed since a file was precompiled, speeding up module loading in the common case. So now, for the first time, it’s possible to package modules for Linux distributions, including the precompiled files!
  • Zoffix Znet fixed several issues related to subtest, making it easier to spot the start of subtests in the TAP output.
  • Jonathan Worthington fixed a bug in take-rw that TimToady had spotted while preparing his OSCON keynote.
  • Pepe Schwarz fixed some container issues with Blob/Buf on the JVM.
  • Elizabeth Mattijsen removed all of the custom classes for $*USER and $*GROUP, because they are no longer needed now that we have IntStr allomorphs, thanks to ShimmerFairy.
  • Elizabeth Mattijsen also introduced a .Map coercer to handle the case of the .enums on an Enum returning a mutable Hash rather than an immutable Map.

Changing IRC Landscape

On-line communication within the Perl 6 World has grown so much, that one IRC channel (#perl6 on irc.freenode.org) has not been enough for a long time. So in the past, the following special purpose alternate channels where added:

  • #perl6-toolchain for Perl 6 toolchain discussions (testing, installing, monitoring, continuous integration, Quality Assurance)
  • #perl6-release for Perl 6 releases and more generic release process related discussions
  • #p6dev for Perl 6 core development discussions. However, since the name of this channel does not adhere to Freenode channel naming guidelines, it was changed to #perl6-dev. So please check out that channel instead in the future, please!
  • Finally, if you’re interested in more low level discussions about the MoarVM virtual machine that powers Rakudo Perl 6 by default, you can also check out the #moarvm channel.

Module Installer Alternatives

Historically, panda has been the installer of Perl 6 Modules in the past. Since then, a lot has changed. A lot of the functionality of panda has been absorbed into the core with the great work that Stefan Seifert has been doing. Tadeusz Sośnierz has been working on redpanda, a cpanm-like client for installing Perl 6 modules. Meanwhile, zef has made inroads as a perl6 luxury package manager. Showing again, there is more than one way to do it!

Making Noise

The Perl 6 Noisegang is group for the promotion and support of audio and music application development in Perl 6. The aim of this group is to provide a focus for people writing sound oriented applications in Perl 6 and to help people find or use the tools and libraries that are already available. If there is stuff out there they want to bring it to people’s attention. There’s also an IRC channel available on #perl6-noise-gang, and a backlog.

Blog Posts

Zoffix Znet on a roll!

Ecosystem Additions

Winding Down

What I thought would be a small blog post, turned out to be quite large in the end. Next week’s Perl 6 Weekly might be delayed again due to travelling. Or not. 🙂 See you the next time!

Got something to note?