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
stresstest using the
t/harness6 (activated by setting environment variable
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
REPLno longer suggests installing
rlwrapwhen 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
$*KERNELfunctionality and fixed various race conditions with
Proc::Async.kill. Finally he made smartmatching with allomorphs more sane and made sure dynamic variables are not lost to
- Elizabeth Mattijsen made sure that a lone
bail-outin 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
Bailadorapplications 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
Inline::Perl5happy 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
NativeCallstruct 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
pylint) by Gábor Szabó.
- List named argument in
MAINby Marcel Timmerman.
Meanwhile on FaceBook
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.
- 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.
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!