Yes, it looks like the Perl 6 books are multiplying! Almost a month ago, Gábor Szabó announced his crowdfunding campaign for “Web Application Development in Perl 6”. In the past week we also saw J.J. Merelo‘s book “Learning to program with Perl 6” appear on Amazon in a Kindle edition. And we saw Moritz Lenz publish the first chapters of his new “Searching and Parsing with Perl 6 Regexes” book. It’s great to see this many books arriving!
2017.06 Compiler Release
Zoffix Znet released Rakudo Compiler 2017.06 with his trusty bots and a full ecosystem toast. Claudio Ramirez was hot on his tail with the release of packages for several Unix systems. There is no Rakudo Star release planned for this month: next month should see one!
for ^1000 optimization is back
The optimization of
for loops that run for a set number of times, has been re-instated by Timo Paulssen and then further refined by Jonathan Worthington (graph). So there will now be more situations where the overhead of running such a loop will be greatly reduced.
The internals of
Proc have been completely overhauled by Jonathan Worthington, and is now also completely supported on the
JVM backend as well.
Optimizer and JIT improvements
Jonathan Worthington also spent a lot of time on several static optimizer and spesh improvements, as well as adding more possibilities for code to get JITted. It has caused the canary in the goldmine benchmark to go almost go down below 4 seconds. Which means it got about 1.5x faster in the past 6 months!
Grant Extension Proposal
If you like the work that Jonathan did the past week, you should probably leave a comment at his proposal for extension of his Perl 6 Core Development Grant!
Other Core Developments
All of these developments made it to the 2017.06 compiler release, except where noted.
- Zoffix Znet fixed an issue with labelled
next‘s. He also fixed all of the methods on
Procthat expect the
Procto be done. And fixed the debugger (but alas not in time for 2017.06).
- Samantha McVey made sure that improper values for
RAKUDO_MODULE_DEBUGdo not break module loading in nqp. She also provided a new set of Collation features (alas also not in time for 2017.06).
- Nick Logan made sure a source file of a module is only slurped once during installation. He also made sure the
shell()no longer deadlocks.
- Stefan Seifert added more checksum related information for when
- Steve Mynott optimized
$*KERNELinitialization for OpenBSD.
- Elizabeth Mattijsen made sure that the default
Nilvalue that will point to the appropriate section of docs.perl6.org when being
gisted (e.g. when it is being shown in the
REPL). She also fixed some issues with
Map (<) Mapand made
Str.subst(Str,Str)(substitute a string once in another string) 12x faster.
- And many other smaller fixes and improvements.
- Upgrading the Docker container of Rakudo Star by Gábor Szabó.
- Dumping Perl 6 by brian d foy.
- Performance concern with respect to GNU yes by Aaron Sherman.
- Perl 6 Release Quality Assurance: Full Ecosystem Toaster by Zoffix Znet.
appendon arrays in Perl 6 by Gábor Szabó (Reddit comments).
- Perl 6 on Rails by 0racle (Reddit comments).
- How you average numbers doesn’t matter by brian d foy.
- 20 Years of Perl Mongers by brian d foy.
- On how to use Chef and Sparrowdo together to make configuration management process more efficient and simple. by Alexey Melezhik.
- CalcDates by Michael.
- Arrays with unique values by Gábor Szabó.
- Les Journées Perl / French Perl Workshop 2017 by Lee Johnson.
- No candidate found for
- Cannot get Rakudo debugger to work with 2017.05 by suitablehost.
Bailadorplans by Gábor Szabó.
Meanwhile on Twitter
Not a lot going on that wasn’t already covered in this issue:
Meanwhile on StackOverflow
- Why are all of the classes in Rakudo’s src/core/Int.pm declared with
my? by brian d foy.
- Unable to install
Selenium::WebDriverin Perl 6 by ko32mo.
- Constructors in subclasses by Mikkel.
- Replace HTML <i> tags with colored text in Perl 6 by user2944647.
- Import simple module by Arimaafan.
- How can I know that I can call a Perl 6 method with a particular signature? by brian d foy.
- How does Perl 6’s multi dispatch decide which routine to use? by brian d foy.
- How would I go about using
Settyto store unique arrays? by S. Albano.
Meanwhile on perl6-users
- Undeclared routine: break used at line … by Gábor Szabó.
- Getting help in the
REPLby Gábor Szabó.
- Perl 6 ignores
SIGPIPEby Sean McAfee.
- The speed (improvement) of Rakudo by Gábor Szabó.
From a sweltering place in the south of the Netherlands, it’s yours truly wishing you all a good week. Please check in again next week for more Perl 6 news!