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 -Voutput 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-confignow returns a two-layer
Hash, which allows easy lookup of particular values. This
Hashhowever stringifies to
$*KERNELnow has an
.archnamemethod, for integration with CPAN-Testers.
VM.osnameis now a quick way to get at the identifier name of the Operating System under which the backend was configured, similar to
$^Oin Perl 5.
Speeding up Perl 6 Development
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
- perl.org has a new look! by Perl NOC (Reddit and Hacker News comments).
- Swiss Perl Workshop – Damian on Board (Again) by Swiss Perl Workshop.
- 10001st Prime by derrickcope.
- Using Python dependencies in Sparrow plugins by Alexey Melezhik.
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
- Samantha McVey fixed
+>(aka right bit shift) for
- Elizabeth Mattijsen worked on
Mixes: some efficiency improvements and some bug fixes needed because of earlier efficiency improvements.
- First time contributor eater submitted a Pull Request to add a
Proc::Async, which was accepted after some tuning.
Meanwhile on Twitter
- Junction different types of Junctions by Zoffix Znet.
- Perl 6’s Schrödinger-Certified Junctions by Zoffix Znet.
- Made a Perl 6 module for all the folks who love Python’s way of indexing strings by Zoffix Znet.
- This stuff won’t ever be core by Zoffix Znet.
- Happy group of Perl 6 developers by Neil Bowers.
- Copy, Paste, Run by Zoffix Znet.
- Weighted random choice by Moritz Lenz.
- Local LUG excitement by Zoffix Znet.
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::CSVnow 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::Notifyin your application you *must* open a new
DBIishconnection to the database for each one for the time being. Not doing so cause BOOM!
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.
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!