Zoffix Znet really hit the ground running this week! After announcing his IO plan, publishing his progress report for the month of March and waiting for the end of the comment period, he published the IO Upgrade Information, and after some late insights, IO Upgrade Information, Part 2, which contain an up-to-date account how things are progressing. And there’s of course the list of IO issues he’s working on. If you’re interested in these developments, please check these out. And contact Zoffix with any feedback, the sooner the better!
Improving the Robustness of Unicode Support
Samantha McVey put up a grant proposal covering the following deliverables:
- Programmatic determination of Unicode names.
- Implement Unicode collation algorithm.
- Properly support grapheme breaking in Unicode 9.0 and beyond.
- Improvements on Unicode database generation.
- Documentation of deficits in the support.
Check it out and give her your opinion!
Camelia in the Wild
A new section in the Perl 6 weekly where spottings of Camelia in the wild can be reported. This week’s spotting was at a concert of ARW in Brussels.
Try out Perl 6 online
If you would like to try out some Perl 6 code without wanting to install Rakudo, you can now also go to https://tio.run/nexus/perl6! Just type in your code, click the play button and see the result! Too bad it currently runs the
2017.01 release, which is now over 2 months old! Still, if you just want to test some code, that is pretty recent and beats many packages provided by some distributions.
Naoum Hankache‘s excellent Perl 6 Introduction now has a chapter introducing the NativeCall interface (explaining how you can easily call code from external libraries from your Perl 6 source code). For now that chapter is available in English only, but I have no doubt the other languages (Bulgarian, Chinese, Dutch, French, German, Japanese, Portuguese and Spanish) will follow soon!
The Rakudo Perl 6 core has up-to-date coverage reports again. And now we also have coverage reports for Moar, thanks to Samantha McVey. So if you’re looking to add some tests to get better coverage, that’s where you can find which parts of the system are not tested yet!
Other Core Developments
- Jan-Olof Hendig fixed a problem with the total number of tests run using the
harness6(aka the Perl 6 version of
prove) while doing a
stresstest. Which brings us one step closer to running spectest using Perl 6 by default (instead of Perl 5).
- Fernando Correa fixed a problem with multi-dimensional hash slices (such as
- Daniel Green and Timo Paulssen fixed a problem with unsigned native
ints that at some VM level, were not marked as unsigned.
- Samantha McVey improved the speed
m:i/ /regex matching between 1.8x and 3.3x (depending on not finding a match / finding a match at the beginning).
- Jonathan Worthington improved error reporting on
Parameterbinding, allowing for a slightly better error message that includes the non-matching value and, where the constraint is a named subset type, that type name.
- Apart from all of the work on
IO, Zoffix also fixed a problem with matching in loops and
~~as well as
- Elizabeth Mattijsen made a lot of set operators, as well as coercions to
Mix(Hash)from 30% to 25x faster, mostly by avoiding (where possible) potentially expensive calls to
.WHICH. She also made sure that
mix()(aka the empty immutable
Mix) only exist in memory once. Finally, she also improved
epochconversions, e.g. making
nowabout 20% faster.
- And as usual many other smaller fixes and improvements.
- Worried about these 5 programming languages dying? by Chelsea Babin (Too bad comments by Jeffrey Goff and yours truly are still awaiting moderation 😦 ).
- From Perl To Java by Caleb Cushing.
- But Here’s My Dispatch, So
callwithMaybe by Zoffix Znet.
- Encrypting Passwords in Perl 6 using
cryptby Gábor Szabó (Reddit comments).
- Function Call Milestone by Bart Wiegmans.
- Idiomatic Use of
Inline::Pythonby Moritz Lenz.
- Rakudo Star on AppVeyor by brian d foy.
- Anyone experienced with Ada? Is there a relation between Ada subtype and Perl 6 subset? by snake_case-kebab-cas.
Meanwhile on Twitter
__DATA__by Zoffix Znet.
.appendmethods by Zoffix Znet.
Perl6::Parsernow does simple indentation by Jeff Goff.
with do withis a thing by Zoffix Znet.
- Comparing a bunch of elements with meta-operators by Zoffix Znet.
- Doing stuff in
protos by Zoffix Znet.
- Pull Request for the chocolatey files for Rakudo Star by brian d foy.
Meanwhile on StackOverflow
- How to use a custom operator by 黃家億.
- Match elements in a list with another list by Anant.
- Specifying a Perl 6 class in a variable by brian d foy.
- When is a Perl 6 array clone not a clone? by brian d foy.
Meanwhile on FaceBook
The ACM has a paper on a new compiler optimization called STOKE. It calls itself “stochastic”, but they seem to mean something other than “random” … more like “capable of working outside the explicit order of operations as given”. It beats gcc -O3 by a significant margin.
Wow, what a busy week again. Please check in again next week for more Perl 6 news!