Samantha McVey has completed her work on the “Improving the Robustness of Unicode Support” Grant. In an extensive blog post she describes what she has done in the past months, how all achievable goals were achieved, and how quite a number of bonus features also made it. You can leave any congratulations, support or other comments on the official TPF page about the completion of the grant. I think we can now safely say that Rakudo Perl 6 has the most complete Unicode support of any programming language in the world. Kudos to Samantha!

Object creation 1.5x faster

Elizabeth Mattijsen (with a lot of help by Timo Paulssen and Jonathan Worthington) completed her work on auto-generating the BUILDALL method for each class . This is an internal method that is called to create an object using the default .new method. Instead of interpreting a build plan of the class every time an object of that class is created, a custom BUILDALL method is created directly using QAST ops (basically writing source code in Abstract Syntax Trees and then “ EVAL ling” them). This makes each call to .new 1.5x faster, making our canary about 8% faster!

Nativecall also much faster

Stefan Seifert also finished his work on auto-generating native call function bodies, making the interface between Rakudo Perl 6 internals and Inline::Perl5 much faster. This also made the Inline::Perl5 version of our canary about 10% faster. The race continues to be on!

Roast Versioning

Rakudo Perl 6 has a file that contains a list of test-files (roast) it should run ( spectest.data ) when doing a so-called spectest . A single file used to be used for all language versions, which is bad because:

New files get added to roast master and roast runner complains they’re missing when running tests for older language versions.

Files in master get restructured, but deleted files still have to live as dummy files when tests for another language version get run.

Zoffix Znet implemented roast versioning by making a separate list of files for each language version so that Rakudo Perl 6 can run tests for each language version seperately. Roast runner just looks at VERSION file in roast to figure out which version of the list of test-files to load (the file list is now in spectest.data and spectest.data.6.c ; for a future release a spectest.data.6.d file will be added).

The language that will not be named

Zoffix Znet rekindled the discussion about the naming of Rakudo Perl 6 again, this time suggesting 6lang (to be pronounced slang ). Again, quite some discussion on blogs.perl.org, /r/perl6, /r/perl and Twitter. Yours truly hopes we can settle this once and for all before Rakudo Perl 6 language version 6.d comes out (or whatever we will call it then).

Hacktoberfest is here again

It’s the month of October again and your chance to win a T-shirt! Simply sign up, have a look at the issues at hand, fix only 4 of them and profit!

Community Bug SQUASHathon

On Saturday 7 October we will have yet another Community Bug SQUASHathon. Please join us on #perl6-dev on freenode and help us squash those pesky core bugs.

Texas to ASCII

To avoid any political connotations, it was felt that we should be moving towards documenting operators consisting purely of ASCII characters as “ASCII” operators (such as (<=) ), and operators that consist of at least 1 non-ASCII character (such as ⊆ ) as “Unicode” operators. Internal documentation has already been adapted, external documentation will follow shortly unless consensus changes.

Other Core Developments

Zoffix Znet made chainable operators (such as < : 2 < 3 < 4 ) between 6x and 36x times faster (depending on number of items in the chain). He also made cmp on Version objects about 7x faster. Which is nice as we will need to do a lot more language version comparisons in the future!

made chainable operators (such as : ) between 6x and 36x times faster (depending on number of items in the chain). He also made on objects about 7x faster. Which is nice as we will need to do a lot more language version comparisons in the future! Jonathan Worthington fixed several race conditions and deadlocks with the new ThreadPoolScheduler . He also made sure that all aspects of the new ThreadPoolScheduler are now used on 6.c , except the part of await no longer blocking the thread it is awaiting in.

fixed several race conditions and deadlocks with the new . He also made sure that all aspects of the new are now used on , except the part of no longer blocking the thread it is awaiting in. Samantha McVey fixed an issue with uniname and non-unique Unicode names. The noncharacter property is now also returned for noncharacters.

fixed an issue with and non-unique Unicode names. The property is now also returned for noncharacters. Zoffix Znet also fixed and improved the ** regex quantifier and made sure that chdir respects the :CWD named parameter.

also fixed and improved the regex quantifier and made sure that respects the named parameter. And quite some other smaller fixes and improvements.

Other Blog Posts

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on perl6-users

Ecosystem Additions

GDBM by Jonathan Stowe .

. CucumisSextus by Robert Lemmen .

. Geo::Hash by Itsuki Toyota.

Winding Down

Bart Wiegmans has created a Pull Request for all of the work that has done on the new JIT : this is now going through the final reviewing process. This work will be merged any day now, which should allow for quite some more “so many percent faster” items in the next issue. So please check in again next week!