Jonathan Worthington‘s work of the past weeks on MoarVM got merged, so now we have spesh running asynchronously on another thread. All of these changes have not made Rakudo Perl 6 any faster just yet: the commit message explains why. Since then he has worked mainly on making MoarVM frames smaller (sponsored by OETIKER + PARTNER AG). And if that is not enough, it is now also clear that the Perl Foundation approved another 200 hours grant extension for Jonathan. I can only say I’m looking forward to the results!

Why I’m learning Perl 6

Evan Miller, (co-)maintainer of many open source packages, posted a very positive blog in which he explains why he’s learning Perl 6. Some quotes:

If you’re feeling confused by Erlang , put off by Go , and indifferent to .NET , take a look at Perl 6. Seriously.

MoarVM , the Perl 6 virtual machine, is a fantastic piece of technology. Event loop-aware scheduler? Check. Continuations? You got ’em.

If you’re drawing up a list of programming languages to try out, do your future self a favor and put Perl 6 on the menu.

Excellent PR! This made it to the top in Hacker News, and also had quite a few comments on Reddit’s /r/programming, and a few more on r/perl.

Top Class Training

Apart from all of the presentations on the schedule of The Perl Conference in Amsterdam, there will also be training courses by Damian Conway ( Parsing Perl 6 and Presentation Aikido ), brian d foy ( Mastering Perl and Effective Perl Programming and Jeff Goff ( Introducing Perl 6 ). If you want to catch up on your skills with the some of the greatest names in the Perl world, this is your chance!

Game Night

Thursday evening at The Perl Conference in Amsterdam, a long held tradition from the YAPC::NA will be introduced in Europe: Game Night!. Meet your friends and play! Beer may or may not be involved.

Other blog posts

New Features

David Warring added a Buf.subbuf-rw method, similar to Str.substr-rw .

added a method, similar to . Elizabeth Mattijsen made the is default trait fully functional on attributes. If you have a class with: class A { has $.foo = 42; } replacing that by: class A { has $.foo is default(42); } can make instantiation of an object up to 30% faster. It will also have the side-effect of being able to use Nil to force the default value on an attribute, without having to know what the default value is, in: dd A.new(foo => Nil) # A.new(foo => 42)

Other core developments

Samantha McVey improved the performance of Cool.codes upto 3.5x.

improved the performance of upto 3.5x. Zoffix Znet fixed the wording on several error messages.

fixed the wording on several error messages. Elizabeth Mattijsen made .unique , .repeated and .squish up to 12x faster. She also fixed all remaining issues with deleted values from List s and Array s, specifically with regards to is default . Finally, she also made @a[^10] (aka, using a Range to take a slice of an Array ) about 3x faster.

made , and up to 12x faster. She also fixed all remaining issues with deleted values from s and s, specifically with regards to . Finally, she also made (aka, using a to take a slice of an ) about 3x faster. And many other smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on perl6-users

Ecosystem Additions

HTTP::Server::Middleware::JSON by Tony O’Dell .

. HTTP::Server::Router::YAML by Tony O’Dell .

. Algorithm::DawkinsWeasel by Jaldhar H. Vyas .

. Proc::More by Tom Browder .

. Symbol by Lucien Grondin .

. App::snippet by araraloren.

Winding Down

Quite a fruitful week yet again. And less than a week to go before the training courses start at The Perl Conference in Amsterdam. Being involved in its organisation, yours truly hopes she will have time to write the Perl 6 Weekly next week. Be sure to check nonetheless!