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
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.
- Stateful Silent Cron by Moritz Lenz.
- Where can I start looking to speed up regular expressions in Rakudo/NQP/MoarVM? by tektektektektek.
- 6 More Things About 6, at Boston Perl mongers by brian d foy.
- Which languages abstract parallelism like Perl 6 and JS? by Curtis ‘Ovid’ Poe.
- I just don’t get it, why is DevOps going Python? by tektektektektek.
- On using smileys and Type objects. And are Type objects the same thing as classes? by analogphototaker.
- Keeping track of state by analogphototaker.
- Sparrow Plugin Revolution by Alexey Melezhik.
Meanwhile on FaceBook
I’m adding strong typing to
Perl6::Parserin 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.
Meanwhile on StackOverflow
People are starting to ask more and more Perl 6 questions (and get answers!). The past week saw:
- How do I find the index of the maximum value in a list?
- How can I tell if something is a container?
- Does .parse anchor or :sigspace first in a rule?
- How can I completely flatten a list (of lists (of lists) … )
- How can I use a non-caching infinite lazy list
- 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.
- Zoffix Znet tweaked the
Gethbot in such a way that it will automatically list all of the associated
MoarVMcommits whenever an
MoarVMversion bump is done. This will help yours truly with reporting on core developments a lot! Zoffix Znet also fixed an issue with
Tap::Harnessin 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.settingbuild times being 20% shorter. Finally, he fixed a bug in
>>.dispatch (which was probably a main source of instability when running
make spectestwith a Perl 6 harness) and improved compilation of
- Samantha McVey removed several Unicode 1 names and added Unicode Name Aliases. And of course added emoji support 🦋.
- Daniel Green made groups in
- Elizabeth Mattijsen made
Zwith a specific operator (e.g. like
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.
- And many other improvements and bug fixes, at about 120 commits the past week.
- Informative – Provide a dialog box by Richard Hainsworth.
- DateTime::Extended by Fernando Correa de Oliveira.
- Webservice::Gitter – An interface to Gitter REST API by faraco.
- License::Software – provides templated software licenses by Bahtiar Gadimov.
- Ddt – Distribution Development Tool a replacement for mi6 by Bahtiar Gadimov.
- Odoo::Client – A simple Odoo ERP client that uses JSON RPC by Ahmad M. Zawawi.
- Data::TextOrBinary by Jonathan Worthington.
This needed quite a lot of tea. See you next week!