Four days of continuous hacking on the future of Perl. Whether that be Perl 5 or Perl 6. That was what the Perl Toolchain Summit was about. Thanks to the sponsors, 36 developers worked on the Perl Toolchain: from fixing bugs and security issues on PAUSE, adding features to MetaCPAN and CPAN Testers to integrating the Perl 6 Ecosystem into the Perl toolchain. Yes, you can now upload your Perl 6 module to CPAN using Shoichi Kaji‘s mi6 , and install it using Nick Logan‘s zef . And that all without interfering with the indexing and testing of Perl 5 modules. We’re also very close to being able to submit results of Perl 6 module testing as CPAN Testers smoke reports!

Stefan Seifert describes it very well in his first blog post ever. For yours truly it felt that finally the ideas that had circulated almost 5 years before at the Perl Reunification Summit, had finally come to fruition.

By the way, there is also a complete list of results of the 2017 Perl Toolchain Summit. Currently visible changes to Rakudo Perl 6 itself are:

perl6 -V output now contains more information and is sorted for better optical searchability. It also includes any information from the new System::Info module if that module is installed.

output now contains more information and is sorted for better optical searchability. It also includes any information from the new System::Info module if that module is installed. Compiler.verbose-config now returns a two-layer Hash , which allows easy lookup of particular values. This Hash however stringifies to perl6 -V output.

now returns a two-layer , which allows easy lookup of particular values. This however stringifies to output. $*KERNEL now has an .archname method, for integration with CPAN-Testers.

now has an method, for integration with CPAN-Testers. VM.osname is now a quick way to get at the identifier name of the Operating System under which the backend was configured, similar to $^O in Perl 5.

Speeding up Perl 6 Development

Jonathan Worthington is looking for further funding of his excellent work on Rakudo Perl 6 and the MoarVM backend. As he states:

Making MoarVM run Perl 6 faster means working on the dynamic optimizer, which needs a good deal of care to avoid doing the wrong thing really fast. And driving forward the design and implementation of Perl 6’s concurrent and parallel features also requires careful consideration.

Please check out the details of the proposal in his blogpost: if the company you’re working for wants to be serious about supporting Perl 6 development, this is an easy and low-threshold way to do it! Please have a look at his latest grant report to get an idea about the quality and scope of the work that Jonathan does!

Perl Events Photostream

At the Perl Toolchain Summit Lee Johnson started a Perl Events Photostream. It’s good to see the Camel and Camelia living together side by side!

Other Blog Posts

The End Of An Era

For over 6 years, panda has been the de-facto module installer on Rakudo Perl 6. But it seems to be that all good things must come to an end. In the past 2 years, panda started to fall behind the new shiny zef . At the Perl Toolchain Summit, Tadeusz Sośnierz (tadzik) marked the project, that he started in 2011 in the very early days of Rakudo Perl 6 and worked on for so long, as deprecated. We all owe a lot to tadzik and all the other contributors, such as Tobias Leich, Moritz Lenz and Stefan Seifert for their work on panda . So I think a big Thank You! is in order.

It’s at moments like these that it is hardest to realize that many times it is about the journey, not about reaching the goal!

Other Core Developments

Zoffix Znet did a tremendous amount of work for the IO grant again. Apart from that he also fixed testing with Junction s.

did a tremendous amount of work for the IO grant again. Apart from that he also fixed testing with s. Samantha McVey fixed +> (aka right bit shift) for Int s.

fixed (aka right bit shift) for s. Elizabeth Mattijsen worked on Bag s and Mix es: some efficiency improvements and some bug fixes needed because of earlier efficiency improvements.

worked on s and es: some efficiency improvements and some bug fixes needed because of earlier efficiency improvements. First time contributor eater submitted a Pull Request to add a .ready method to Proc::Async , which was accepted after some tuning.

Meanwhile on Twitter

Meanwhile on FaceBook

Jeffrey Goff:

The OSCON Perl 6 tutorial seemed to go well yesterday, now that I’ve had some time to reflect on it, and a bit of unknotting at the party, not to mention a few chances to exercise my rusty Mandarin Chinese. People were actively participating, doing exercises and I caught a few people even typing in code from random slides in disbelief, “does that really work?”

H. Merijn Brandt:

Text::CSV now also successfully uploaded to the Perl 6 section on CPAN!

Jonathan Stowe:

Quick heads-up if you happen to be using, or planning to use, Pg::Notify . I discovered an annoying flaw that prevents it from listening for more than one notification on the same database connection, I’m pretty certain no-one has tried this as I haven’t had a bug report with a rather upsetting memory dump and stacktrace 🙂 If you need to have more than one instance of Pg::Notify in your application you *must* open a new DBIish connection to the database for each one for the time being. Not doing so cause BOOM!

Ecosystem Additions

I think this is a new record for number of new modules in a week!

Pythonic::Str by Zoffix Znet .

. LibCurl by Curt Tilmes .

. Redis::Async by Curt Tilmes .

. IO::Path::ChildSecure by Zoffix Znet .

. TinyCC by cygx .

. RakudoPreReq by Zoffix Znet .

. System::Query by Tony O’Dell .

. Testo by Zoffix Znet .

. IO::Dir by Zoffix Znet .

. CPAN::Uploader::Tiny by Shoichi Kaji .

. API::USNavalObservatory by mdhensley .

. Distribution::Builder::MakeFromJSON by Stefan Seifert .

. Terminal::Table by loren .

. MPD::Client by Patrick Spek .

. Die by Zoffix Znet .

. LibYAML by Curt Tilmes.

Winding Down

It’s hard to wind down after such an intense week. Pretty sure there will be more exciting things to report next week. So, until then!