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 byGo
, 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
- Pretty Printing Rakudo Perl 6 by brian d foy (Reddit comments).
- ELI5 –
CGI
Param/Params – security concern by New2Perl. Quantum::Computing
? by nxpe.- Training courses at TPCiA by Damian Conway.
- Rejection Sampling with Rakudo Perl 6 by okpmem (Reddit comments).
- If you ever want to explain
Seq
‘s to a Python programmer by Aaron Sherman. - Web application frameworks for Rakudo Perl 6? by aRegularFarmChicken.
New Features
- David Warring added a
Buf.subbuf-rw
method, similar toStr.substr-rw
. - 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. - Zoffix Znet 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 fromList
s andArray
s, specifically with regards tois default
. Finally, she also made@a[^10]
(aka, using aRange
to take a slice of anArray
) about 3x faster. - And many other smaller fixes and improvements.
Meanwhile on Twitter
Sparky
has a web UI by Alexey Melezhik.- Fundamental Reviews by Moritz Lenz.
- Rakudo Star in chocolatey by brian d foy.
- Book Unshrinkwrapping by Moritz Lenz.
Meanwhile on StackOverflow
- Start
REPL
with definitions loaded from file by dharmatech. - Why does a Perl 6
Str
do thePositional
role, and how can I change[]
? by brian d foy. - Can you loop a Perl 6 block that’s in a variable? by brian d foy.
- Why aren’t
//
andm//
exactly synonymous? by Christopher Bottoms. - How can a Perl 6
rule
pass arguments to anotherrule
? by brian d foy. Hash
key<$/[0]>
,<"$/[0]">
and{"$/[0]"}
make the values behave differently by lisprogtor.multi sub
onArray
ofInt
vsArray
ofArray
ofInt
by dharmatech.- Typed array from non-typed array by dharmatech.
- How can I read from the standard error of another program, line by line? by Christopher Bottoms.
- Why is Perl 6’s
loop
variable declaration in the outer scope? by brian d foy.
Meanwhile on perl6-users
flatmap
considered harmful? by Sean McAfee.- Bi-directional communication with another process by Norman Gaywood.
- Need sub for
LWP::UserAgent
by ToddAndMargo.
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!
More grant time for jnthn, wonderful!