The world seems to be warming up to Perl 6. I hope this will not destroy morale!

The Night Larry Wall Unveiled Perl 6

It was quite an event, at Craigslist, when TimToady introduced a large audience to the concept of Perl 6 actually existing, happening and being released soon! A blog post here and there caused quite some discussions. Some of them with answers. And for a change, there weren’t that many haters! Even InfoWorld gave it a mention! The world is warming up to Perl 6!

Windows MSI installers for Rakudo Star 2015.09

Tobias Leich has been busy: he made two Windows MSI installers available. One for 32bit, and the other for 64bit Windows. So, if you’re on Windows without a compiler, you can still try out Rakudo Star!

The Continuing Saga Of Smileys

Last week, FROGGS++ implemented the initial stages of :U and 😀 on variable types (now commonly referred to as smileys). This week, FROGGS made these type suffixes first class citizens in the world of Perl 6. So, this now works:

say Int ~~ Int:D; # False, as not all Int's are defined

say Int:D ~~ Int; # True, because all Defined Int's are Int!



Alongside this work, lizmat++ implemented the variables and attributes pragmas, that allow you to set the default smiley for variables and attributes. So, now you can say:

use variables :D;

my $a = 42; # $a must always contain a defined Any

$a = Any; # fails with:

# Type check failed in assignment to $a;

# expected Any:D but got Any



If you prefer your code’s variables to always have defined values only, you can now easily set that default in that scope with use variables. And the same for the attributes of a class (with use attributes). Work is still being done on the parameters and invocant pragmas.

Unicode/NFG Odds And Ends

jnthn++ has been working on getting almost all outstanding Unicode / NFG tickets fixed. One of them, was to implement the case folding functionality, aka the fc method:

say "Leﬀe".fc; # leffe because ligature ﬀ expands to ff



Another corner of Unicode that now got properly implemented, is title casing, aka the tc method:

say "ßar".tc; # Ssar

# even though there are officially no words starting with ß



And the Christmas ticket list got significantly shorter again!

Facelift Of Ecosystem

Gábor Szabó, Zoffix and others, have worked on giving the frontpage of the Perl 6 Ecosystem a facelift! Apart from the re-styling, now also the Travis Build Status and last update are shown!. Meanwhile, Justin DeVuyst is working on a prototype of a META-CPAN for Perl 6. See his blog posts below!

Perl6 On Facebook

Yes, Perl6 is a public discussion group on Facebook about anything and everything “Perl” version 6. Perl6 intends to carry forward the high ideals of the Perl community. If you’re on Facebook, and you want to be up-to-date on things happening in the Perl 6 world, and you don’t want to lurk on the #perl6 channel (on irc.freenode.org), and can’t wait for the next Perl 6 Weekly, visiting that group could be your ticket!

Other Notable Additions

Handling of exceptions in phasers, e.g. not running POST/LEAVE when a PRE fails

Byte-Order-Mark (BOM) now correctly handled when reading files

SetHash.pairs/values/kv now return left-values, so you can remove something from a SetHash by setting the value to False

Add produce method and sub to do triangle reduce

method and sub to do triangle reduce Generalize N-ary reduce/produce to [op] & [\op]

Addition of ZEN-KEY and ZEN-POS methods, to allow module developers to customize the zen-slice for their objects

Categorical sub declarations have been improved. Delimiting with [] is now supported, and delimiting with <<>> properly interpolates contained *sigiled* constants

is now supported, and delimiting with <<>> properly interpolates contained *sigiled* constants Many, many other bug fixes and optimizations, coming in at 120 commits in the rakudo repo this week alone!

Blog Posts

Ecosystem Additions