With this Christmas being The Christmas™, there was no way we’d pass up the opportunity to bring you daily blog posts until Christmas on the Perl 6 Advent Calendar! If you’re unfamiliar with the Perl 6 Advent Calendar, feel free to have a look through each Table of Contents post for each previous year. There is quite a lot of really good content in there, even though some of the older posts may be outdated by now. On a similar note, a page called “Advent of Code” has been mentioned multiple times on the Perl 6 IRC channel. It offers a little programming puzzle every day. Could be great to try out Perl 6 with 😉
Advent Posts So Far
- Advent 2015 by Jonathan Scott Duff (aka perlpilot, PerlJam)
- The State Of Perl 6 In 2015 by Moritz Lenz (moritz)
- 2bind Or !2bind by Wenzel Peppmeyer (gfldex)
- Atom Editor Support by Jake Russo (MadCapJake)
- Going Raw With Rogue Robots by Zoffix Znet
- Identifiers Have Hyphens In Them by Carl Mäsak (masak)
- On Opening Files and Contributing to Open Source Projects by cygx
- Unicode, Perl 6, and You by ShimmerFairy (plus discussion on Hacker News)
Perl 6 In The News
- Perl Is Back And Ready To Roll With The Big Data Crowd by David Cassel
- Perl 6 prepares for release with an advent calendar by Madison Moore
- Math::Random by bluebear94
- Subsets::Common by Brad Clawsie
- Chronic by Jonathan Stowe (RabidGravy)
- WebService::GoogleDyDNS by cbk
- Acme::GiveUp by Zoffix Znet
- NQP::Eval by cygx
- Unicode::UTF8-Parser by krunen
- Acme::WTF by Skarsnik
- IRC::Client by Zoffix Znet
- WWW::Google::Time by Zoffix Znet
- WWW::You’reDoingItWrong by Zoffix Znet
On top of the additions, Math::Tau got thrown out of the ecosystem, as rakudo now ships tau in core.
After the curli branch merge, module loading, installing and precompilation wasn’t quite perfect yet, so nine++ put in a lot more work to fix bugs found after people finally started testing the code. If you experience more trouble with latest rakudo/nom — which is not unlikely — you’re welcome to report them on #perl6 on irc.freenode.net or via mail to email@example.com. Perhaps deleting the folder your Rakudo is installed to (for example, using rakudobrew nuke) helps you, though.
Array subscripting with listy objects is now more consistent. When you have a lazy thing (like an infinite range or something marked with “lazy”), the current size of the array will be used to cut off the subscripting, whereas anything non-lazy will give you assignable containers past the end. In other words, my @a; @a[^2] = 1, 2; will now work.
The ** operator (exponentiation) now throws errors in case an under- or overflow happens. (TimToady)
When making a socket listen, the backlog parameter can now be passed. (JimmyZ)
The “earliest” syntax is now gone. The much simpler to understand supply/react blocks have taken its place. On that note, Channel now has a proper Supply implementation, so Channel objects can be used inside supply/react blocks. Inside “earliest” blocks, trying to multiplex multiple channels forced busy waiting. (jnthn)
For more lovely things jnthn has done you can read his blog post, too (find the link in the “Blog Posts” section above.)
Parameters to MAIN that have a .WHY attached will now show it in the auto-generated USAGE. (donaldh)
NativeCall now supports arguments of type Pointer with an “is rw” attached. (FROGGS)
pmurias has been working on nqp-js for a long time and I’m sure he hasn’t been given enough shout-outs from the weekly yet!
Of course there have also been changes in our doc. Of note, jonathanstowe replaced examples for “earliest” with examples of “react”. Other contributions from dha, Zoffix Znet, Skarsnik, gfldex, awwaiid, molecules, lizmat, flussence, stmuk, and raiph are of course also much appreciated!
And I must never stop mentioning usev6 (Christian Bartolomaeus) going through the bug tracker making sure to try to reproduce older bugs regularly to point out bugs that have long been fixed and close corresponding tickets. Thanks!
Don’t forget there’s a WANTED document in the doc repo that could surely benefit from your input!
Back to the Cryo Chamber
It’ll be another week until the next post on this blog. Until then it gets to rest in its cryo chamber 🙂
Except, maybe not this time. I just stumbled upon an idea I had earlier in the year: To go through all evaluated pieces of code in the irclog and highlight some of them in this blog on some other day of the week. Maybe I’ll have a look at that again and actually do it this time!
Have a splendid week, and see you again after the 3rd advent has passed!