In the past week, Samantha McVey has landed emoji support in Rakudo Perl 6 on the MoarVM backend. The code of the title of this week:

say "\c[woman gesturing OK] (woman gesturing OK)";

If you see some strange characters in the title before the parenthesis open, your system doesn’t support Unicode 9 emojis yet. Oh, and should you wonder, all emojis are still only 1 character, thanks to NFG!

say "\c[woman gesturing OK]".chars; # 1

Javascript Backend Milestone

Paweł Murias has reached another milestone in the development of the Javascript backend for Rakudo Perl 6. Again, a step closer to being able to run Perl 6 code in the browser. And for those of you remembering when Jonathan Worthington reached a similar milestone for the JVM backend: from here on out, it’s going to be a lot easier. I can only wish more power to Paweł!

Perl 6 – The Musical

JJ Merelo has made his latest Perl 6 project public. The introduction:

This book is about learning programming using a promising, and almost completely new, language: Perl 6. But it is only Perl 6 specific in a minority of the content. Most chapters that deal with Perl 6 could be rewritten using any other language, preferably a new, cool language such as Go or Rust. I, or someone, might do it some day. But for the time being, let us be content with Perl 6. Which is also new and cool.

He, and his family, will also talk about it at FOSDEM.

Blog Posts

Meanwhile on FaceBook

I’m adding strong typing to Perl6::Parser in order to help catch some stubborn bugs, and noticing runtimes *apparently* decreasing as I add more Array[Perl6::Element] return types. Yay team! ~10 seconds off Perl6::Parser ‘s test suite. Incidentally I’m going to add some ‘find’ methods and start threading elements to have parents and siblings as well as children to make the structure easier to walk. And it pays off within 20 minutes of adding the last ‘ returns ‘ clauses by uncovering a hidden test-suite bug.

Jeffrey Goff

Meanwhile on StackOverflow

People are starting to ask more and more Perl 6 questions (and get answers!). The past week saw:

Core Developments

Incompatible change : previously, so called non-associative operators (such as cmp ) could be used with more than two iterables, like so: @a Xcmp @b Xcmp @c Since this does not make sense, such code will now die : you can now only use 2 iterables with these types of operators.

: previously, so called non-associative operators (such as ) could be used with more than two iterables, like so: Zoffix Znet tweaked the Geth bot in such a way that it will automatically list all of the associated NQP and MoarVM commits whenever an NQP or MoarVM version bump is done. This will help yours truly with reporting on core developments a lot! Zoffix Znet also fixed an issue with Tap::Harness in the way full file skips were (not) handled.

tweaked the bot in such a way that it will automatically list all of the associated and commits whenever an or version bump is done. This will help yours truly with reporting on core developments a lot! also fixed an issue with in the way full file skips were (not) handled. Jonathan Worthington fixed various race conditions with inlining of code in MoarVM and a case of unwanted Garbage Collection in spesh. He also made memory management of call frames much more efficient, resulting in a reduction of memory usage by 10% and making CORE.setting build times being 20% shorter. Finally, he fixed a bug in >>. dispatch (which was probably a main source of instability when running make spectest with a Perl 6 harness) and improved compilation of ||= , //= and &&= .

fixed various race conditions with inlining of code in MoarVM and a case of unwanted Garbage Collection in spesh. He also made memory management of call frames much more efficient, resulting in a reduction of memory usage by 10% and making build times being 20% shorter. Finally, he fixed a bug in dispatch (which was probably a main source of instability when running with a Perl 6 harness) and improved compilation of , and . Samantha McVey removed several Unicode 1 names and added Unicode Name Aliases. And of course added emoji support 🦋.

removed several Unicode 1 names and added Unicode Name Aliases. And of course added emoji support 🦋. Daniel Green made groups in <before> and <after> non-capturing.

made groups in and non-capturing. Paweł Murias reduced the creation of unnecessary containers by reusing them better, only needing half as many as before: this mostly affects the JVM and Javascript backends.

reduced the creation of unnecessary containers by reusing them better, only needing half as many as before: this mostly affects the JVM and Javascript backends. Elizabeth Mattijsen made Z with a specific operator (e.g. like zip(:with(&[~]) aka Z~ ) about 12x faster, X (cross, either with or without a specific operator) about 7x faster, roundrobin() about 4x faster, combinations() about 2x and permutations() about 15x faster.

made with a specific operator (e.g. like aka ) about 12x faster, (cross, either with or without a specific operator) about 7x faster, about 4x faster, about 2x and about 15x faster. And many other improvements and bug fixes, at about 120 commits the past week.

Ecosystem Additions

Winding Down

This needed quite a lot of tea. See you next week!