Zoffix Znet announced (Reddit comments) a new way for the Rakudo Perl 6 core development team to communicate with its users, using all of the current ways of dispatching alerts in the social media world we live in: Perl 6 Alerts, with an associated RSS and Twitter feed. And if that’s not enough, you can write your own alerter using the API with the WWW:P6lert
module. All of this put together in a few days using Cro and the Rakudo Perl 6 Programming Language. So please make sure you subscribe to the desired means of alerting if you want to keep abreast of Rakudo Perl 6 core developments.
Yours truly wonders whether the publication of yet another Perl 6 Weekly would warrant an info
level alert or not. Probably not.
Keeping on Adventing
It appears that Andrew Shitov can’t be stopped either: Perl 6 Inside Out is his new daily (yup, daily) blog about reading the Rakudo Perl 6 source code. As he stated on Facebook:
It was so nice to write something for this year’s Advent calendar that I decided to continue. It was a surprise to me that the sources of Rakudo are so interesting material to explore and read, and I want to share that feeling 🙂 Hopefully, daily.
So far, he has posted:
- The
proto
keyword - Exploring the
Bool
type, part 1 - Playing with code
- Exploring the
Bool
type, part 2 - Lurking behind interpolation
- The
dd
routine - Digging into operator precedence, part 1
- Digging into operator precedence, part 2
- Obsolete syntax warnings, part 1
- Obsolete syntax warnings, part 2
- Compiler stages and targets
Guess what? Even yours truly learned a few tidbits from these posts, so please keep them coming!
But that’s not all: he also re-started his Russian language Вечерний Perl 6 (Evening Perl 6) daily blog posts with an overview of Rakudo Perl 6: Что где про Perl 6 (What about Perl 6?). So check it out, if you can!
Yearly Statistics
In 2017 the Perl 6 Facebook Group has gained 127 new members (from 340 to 467 members, so an increase of 35%). On the commit front: well over 10000 commits of which 2272 documentation, 1669 roast, 1829 MoarVM, 1258 NQP and 3507 Rakudo commits (and 370 Rakudo Pull Requests). On the release front: 14 MoarVM, 15 Rakudo compiler and 4 Rakudo Star releases. 842 lines in the MoarVM ChangeLog and 1368 lines of ChangeLog in Rakudo. 768 Tweets on the Perl 6 News Feed, 266 Questions on StackOverflow and at least 123 questions on the perl6-users mailinglist that got mentioned in 52 issues of the Perl 6 Weekly. 238 tickets got resolved and 241 new tickets got added in the 20 week period in 2017 when these statistics were centrally kept. Seven Perl 6 books got published. And 3 new core developers got their Rakudo commit bit. Let’s try to top these numbers in 2018!
Other Blog Posts
- Perl dialects? by ac1235.
- Multiple Dispatch by JJ Merelo.
- Playing with Heap’s Algorithm by brian d foy (Reddit comments).
- Expensive Egg-Timers by Wenzel P. P. Peppmeyer.
- A Slow Boat to Data by Nadim Khemir.
Core Developments
- Zoffix Znet was very busy again: among other things, he fixed some dispatch issues with
.is-prime
and fixedWhatever.ACCEPTS
handling of type objects. IEEE-style Rationals for ±Inf
/NaN
Num
conversions got overhauled, fixing 3 tickets in one blow. And he improved the USAGE message ofMAIN
quite a bit. And he fixed an issue with the flushing of TTYs on Win10. - Zoffix Znet also did some performance enhancements:
Blob.subbuf
is now 1.8x faster, and anif
in sink context that evaluates toFalse
, is now 3.4x faster. - Jeremy Studer made sure that interpolated quotewords (
qqww
or« »
) don’t produce aSlip
if they only consist of a single word, and that assigning to an element of aRange
produces a better error. - Christian Bartolomäus continued his quest to keep the JVM backend, and the testing of it, in working order.
- Dan Zwell made sure the
%zu
printf
format is not used on Windows, as it’s unsupported there. - Timo Paulssen made sure the
nqp::isprime
op gets JITted. This removes any unnecessary overhead of determining primality on a large set of numbers. He also made adding anInt
to aRat
22% faster, and fixed a problem withBuf.subbuf
‘s handling of degenerateRange
s such as10..2
. - Elizabeth Mattijsen sanitized the behaviour of
Range.pick
andRange.roll
on degenerateRange
s. - And many other smaller fixes and improvements.
Meanwhile on Twitter
- Conditionally concat strings with
if
by Zoffix Znet. - Amazed how useful multi-dispatch and MAIN subs are by Zoffix Znet.
- Wish I had a Rakudo Perl 6 project by Chris Reinhardt.
Meanwhile on StackOverflow
- Automated testing of terminal-based programs by sid_com.
- Any simple way to do mapping of group of sequential list elements? by lisprogtor.
- Pointer to constructor to a class by BhaskarS.
- Concatenating lists by Eugene Barsky.
- Performance difference between
@$aList
and$aList
by lisprogtor. - Regex not terminated by BhaskarS.
- Showing how much memory a data structure is using by lisprogtor.
- What is the equivalent of the Perl 5 command
binmode(STDOUT, ':unix:encoding(utf8):crlf')
? by user2288349. - What modules can read/write XLSX files? by BhaskarS.
- Can I choose between multis that have no parameters? by brian d foy.
Meanwhile on perl6-users
- Module wishlist priorities by Michael Stemle.
- How to accomplish a method interpolation? by clasclin.
Meanwhile on Perl Monks
- Reasons for Using Perl 6 by aartist.
Winding Down
It’s always weird in the first Perl 6 Weekly of the new year to be reporting about things in the previous year. Especially when the first Perl 6 Weekly of the year is published on the first day of the new year. To yours truly it feels that all of this is a bit of old news, in preparation for some pretty amazing things that will come to the world of Rakudo Perl 6. So, please check in again next week for some serious new stuff of 2018!