Zoffix Znet published his IO Grant Completion Report, signalling the end of his extensive work on the IO
subsystem in Rakudo Perl 6. Apart from writing a lot of code and tests, he also provided a lot of documentation. Most notably the Input/Output – The Definitive Guide (Correctly use Perl 6 IO), which should be a good read for newbies and hard-core developers alike. And he also added meta-introspection tools such as the Map of Perl 6 Routines. Talk about value for money!
TAP.pm6
no longer core
The Perl 6 implementation of the Test Anything Protocol (TAP
), originally written by Leon Timmermans, has been moved out of core by Zoffix Znet. This will allow updating the TAP
module without needing to update Rakudo. It will be automatically installed/updated whenever you do a spectest
/stresstest
using the t/harness6
(activated by setting environment variable HARNESS_TYPE=6
).
Passing file handles between threads
Jonathan Worthington refactored NQP
‘s IO to have a file handle object, which then uses the VM-backed decoder, just like the Rakudo file handles now do. He also eliminated the char-level IO ops from MoarVM
, thus finishing the work to decouple IO and encodings. Finally, he reworked synchronous file IO in MoarVM
to no longer use libuv
: this now makes it possible to pass file handles (such as $*IN
) between threads, which is a pre-requisite for many GUI-type applications that want to do things with files in the background.
Other Core Developments
- Daniel Green awesomified the “
Too many positionals
” error by also showing the name of the routine receiving the incorrect number of positional parameters. But more importantly, he made sure that if an attempt is made to call a non-existing method, it will now suggest similarly named methods, just like it was already when calling a non-existing subroutine. - Tom Browder made sure that the POD6 specification can actually be rendered without warnings.
- Samantha McVey made sure that the
REPL
no longer suggests installingrlwrap
when it is actually installed already. Less visible was her work on the Unicode grant, which she describes in her first grant update. - Julien Simonet awesomified the error when no candidates are found when calling a subroutine / method.
- Zoffix Znet also fixed an infiniloop with
deepmap
. He speeded up access to$*KERNEL
functionality and fixed various race conditions withProc::Async.kill
. Finally he made smartmatching with allomorphs more sane and made sure dynamic variables are not lost toPromise.then
blocks. - Elizabeth Mattijsen made sure that a lone
bail-out
in a test-file will actually stop testing for the right reason. She also fixed some smaller issues with the(|)
(AKA set union) operator. - And many other smaller fixes and improvements.
Other Blog Posts
- European Perl Conference(s): it’s time to get cracking by BuiltInPerl.
- Getting started with Bailador by Gábor Szabó.
- On Sigils by David Farrel (Hacker News and Reddit comments).
- Data serialization with JSON in Perl 6 by Gábor Szabó (Reddit comments).
- How to build Docker images for
Bailador
applications by using Sparrowdo. by Alexey Melezhik. - Unicode Grant Update #1 by Samantha McVey.
- Perl 6 Travel Grant Proposal by brian d foy.
- Rakudo.js update – builds sanely and passes some spec tests by Paweł Murias.
- SQLite – Database access in Perl 6 by Gábor Szabó.
Meanwhile on Twitter
- Keep
Inline::Perl5
happy with perl 5.26.0 by Zoffix Znet. - Indented Heredocs also in Perl 5 by Zoffix Znet.
- Perl 6 Book Flowchart by Moritz Lenz.
- Extra Pre-Release Testing by Zoffix Znet.
- Divide By Zero by Zoffix Znet.
- The Perl 6 language learning track by Vicky Brasseur.
- What would you like to see on @perl6org by Moritz Lenz.
- Enchanting exhibit of htop by Tommy Stanton.
Meanwhile on StackOverflow
- How do you show the type hierarchy of a value? by Lars Dieckow 迪拉斯.
- Array of structs as an attribute of a Perl 6
NativeCall
struct by Fernando Santagata. - Is there a Perl 6 counterpart of powershells get-member to “analyze” a variable(-object)? by eli.
- How to derive own distinguish type from
Int
? by chi. - Variable quantifier in Perl 6 by mikkel.
Meanwhile on perl6-users
- Command auto-completion in Perl 6 shell by Sebastien Moretti.
- Creating an array of a single hash by Gábor Szabó.
- Ding! by ToddAndMargo.
- Is there a linter for Perl 6? (like
Perl::Critic
orpylint
) by Gábor Szabó. - List named argument in
MAIN
by Marcel Timmerman.
Meanwhile on FaceBook
Jeffrey Goff:
Okay, here’s a radical notion. Perl 6 can now start to compile to JS. I don’t know how far along that is, but one of the reasons I can see for JS’ popularity is that it’s by now end to end. Most of the tools are built around a compiler of sorts. Maybe it’s time to try beating the Node people at their own game and figure out a wedge strategy to market Perl 6 as another alternative to React/Angular.
Ecosystem Additions
- Log by André Brás.
- Proc::Q by Zoffix Znet.
- WhereList by Zoffix Znet.
- Temp::Path by Zoffix Znet.
- IO::CatHandle::AutoLines by Zoffix Znet.
Winding Down
The past week yours truly has been busy with a lot of things other than Perl 6. So it was a bit of a surprise to see the amount of activity this week. Wow! Looking forward to reporting happenings in the Perl 6 world again. So please check in again next week!