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 :D 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
- 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
- Many, many other bug fixes and optimizations, coming in at 120 commits in the rakudo repo this week alone!
- Perl 6 And CPAN by Justin DeVuyst
- Configure Travis-CI for Perl 6 modules by Gábor Szabó
- Perl6 and CPAN – MetaCPAN Status As Of 2015-10-09 by Justin DeVuyst
- Answer to “Should I Be Interested In Perl 6” by Curtis Poe
- Perl 6 Modules Without Travis-CI by Gábor Szabó
- Installing Rakudo Perl 6 by Gábor Szabó
- Push vs. Append On Arrays by Gábor Szabó
- Log::Minimal by Taiki Kawakami
- Grammar:Parsefail by Faye
- Growl::GNTP by Yasuhiro Matsumoto
- Parse::Selenese by Ahmad M. Zawawi
- Base64 by Nick Logan
- Crust – Full Featured plack Clone by Tokuhiro Matsuno
- Grammar::HTTP by Nick Logan
- Router::Boost by Taiki Kawakami
- Perl6::Maven by Gábor Szabó
- Lingua::Unihan by Fayland Lam
- Backtrace::AsHTML by Taiki Kawakami
- Config::TOML by Andy Weidenbaum
- Pastebin::Gist by Zoffix Znet
- App::Nopaste by Zoffix Znet