Zoffix Znet has given an excellent insight into how Perl 6 developers introduce changes to the compiler and the language in his blog post On Specs, Versioning, Changes, and… Breakage (Reddit comments). It makes clear that over time, the story of Perl 6 will have fewer and fewer plot holes. A recommended read!
Are you near Brno this Thursday?
Then that’s your change to see Jonathan Worthington give a presentation on Cro
and Perl 6’s concurrency features. Wish I could be there!
Rakudo Compiler Release 2018.02
The past week saw not one, but two Rakudo Perl 6 compiler releases. Aleks-Daniel Jakimenko-Aleksejev did all the hard work to do a 2018.02 as well as a 2018.02.1 release. The latter contains a hot fix for a boo-boo. Fortunately, all Linux packages have already been updated by Claudio Ramirez.
Other Core Developments
As promised last week, an overview of developments of the past 2 weeks:
- Ticket status of past week and the week before that.
- Jonathan Worthington fixed a memory leak with one-shot timers, such as
Promise.in(2)
. He also implemented anqp::tryfindmethod
op as an optimization tonqp::can
andnqp::findmethod
. - Bart Wiegmans fixed an (apparently long-standing) problem with
nqp::if
in spesh: “It is amazing we got away with this hack for so long”. - Samantha McVey worked on the strict decoding of the
windows-1251
andwindows-1252
encodings. - Nick Logan added a
nqp::getppid
op to get the pid of the parent process. - Timo Paulssen did some more preparations for the work on the multi-threaded profiler.
- Zoffix Znet fixed various issues with
eof
detection on zero-sized files on MoarVM. He also made thegist
of aBacktrace
more informative, and made the return value ofStr.subst-mutate(:g)
consistent whether or not the underlying match succeeded. On the efficiency front, he did some amazing performance improvements onUni.list
(15x to 653x). And he implementedIO::CatHandle.handles
, which gives you aSeq
of theIO::Handle
s of which it consists. And fixed an issue with the last statement of afor
loop not being sunk. - Tom Browder added a lot of tests and documentation to
nqp
. He also renamed thespew
sub in nqp tospurt
to align with how that functionality is called in Rakudo Perl 6. And he added arun-command
sub tonqp
. - Christian Bartolomäus fixed various old and new issues specific to the
JVM
backend. - Elizabeth Mattijsen made sure that
Cool.subst-mutate
will not actually convert the object to aStr
if the underlying match failed. And she started working on converting all publiconly
subs tomulti
subs, allowing candidates to be added by developers in their programs without losing the built-in one. - And many, many other smaller error fixes and improvements.
Other Blog Posts
- Examining the
Real
role, part 3 by Andrew Shitov. - Declared in
BOOTSTRAP
by Andrew Shitov. - Physical::Units by jczeus.
- The
EVAL
routine, part 1 by Andrew Shitov. - More on the
proto
keyword by Andrew Shitov. - I did this library, basically a bidimensional array. by shinobicl.
- Commitment schemes by Lloyd Fournier.
Meanwhile on StackOverflow
- When is white space really important in grammars? by dave.
- Can I forward declare a
class
I’ll define later? by brian d foy. - How can I tell programmatically if a module is installed? by brian d foy.
- Regex Match Num by p6steve.
- What’s the difference between
DEFINITE
anddefined
methods? by brian d foy. - Split a
BibTeX
author field into parts by Håkon Hægland.
Meanwhile on Twitter
- Suspiciously slow. Not! by Zoffix Znet.
- Can it be called a Perl 6 compiler? by Andrew Shitov.
- A Play In Three Acts by Zoffix Znet.
- Our P6lert service, in light of npm 5.7.0 issues by Zoffix Znet.
- TPCiSLC and
CommonMark
by Jeff Goff.
Meanwhile on FaceBook
- Andrew Shitov:
I wrote a “Blinking LED Hello World” in Perl 6 for Orange Pi today.
for True, !* ... * { shell("gpio write $pin " ~ +$_); sleep 0.5; }
It is cool that you can use such a sequence
True, !* ... *
*snip*
It would be nice to have fresh packages for major OSes beyond Windows and OS X listed on the official site.
Meanwhile on perl6-users
- Junctions now being stringified as one alternative per line? by Sean McAfee.
- Fixed In Fedora 27: cannot unbox to a native string by ToddAndMargo.
Meanwhile on PerlMonks
- Phasers and a 1 liner by RichardJActon.
Perl 6 in comments
- Free all the butterflies by Nigel Hamilton.
- Long adoption cycles by kamaal.
- But suspicious about Perl 6 progress? by arbie.
Winding Down
Plenty of excitement in the world of Perl 6 again this week. And yours truly feeling a bit better yet again. Looking forward to being able to do next week’s Perl 6 Weekly. Hope you are too. See you then!