2018.38 Three Versus Six

Patrick Spek has written a nice blog post about some Hackerrank solutions for Python 3 and Perl 6. Which created quite a few comments on /r/python, /r/programming and /r/perl6. For some people it provided a nice way to show off their versions of the code in question!

A new Oddmuse?

Something yours truly forgot to mention last week. Alex Schroeder has been thinking about re-implementing the Oddmuse wiki using Cro (FaceBook comments). Your views are very welcome!

Thoughts on sigils?

An interesting thread caused by the question: What are your thoughts on sigils? on Reddit. A good read, with even some APL mixed in.

Signatures in Perl 6

Yours truly had the fourth installment of her series on migrating code from Perl 5 to Perl 6 published on opensource.com. Which caused some comments on Reddit: /r/perl and /r/perl6.

The 128-Language Quine Relay

An interesting blog post on esoteric.codes of last April actually also contains Perl 6! As ab6tract noticed.

Core Developments

  • Ticket status of last week.
  • Ben Davies fixed a recent regression in state and once blocks.
  • Paweł Murias fixed an optimizer issue related to +=. He also added a nqp::decodelocaltime NQP op.
  • Stefan Seifert optimized booleanification at the NQP level, by a nqp::hllbool op that replaces the nqp::p6bool op.
  • Zoffix Znet continued his preparatory work on the 6.d release of Perl 6, specifically in the area of cleaning up the test-suite (aka roast).
  • Jeremy Studer provided a bunch more JIT templates.
  • Tom Browder (partially) implemented the ‘#’ alias for %config :numbered.
  • Elizabeth Mattijsen improved the speed of the various .lines and .words methods. She also introduced a PredictiveIterator role for those Iterators that can predict the number of values that they will produce, without actually having to produce them. She also generalized the use isms feature to also include use isms 'C++'.
  • Samantha McVey implemented reading and writing files encoded in utf16 (machine order only). She’s also working on supporting utf16le and utf16be, and would like to have feedback on how to handle BOMs (aka ByteOrderMarkers). Comments welcome!
  • Aleks-Daniel Jakimenko-Aleksejev worked on improving the toaster to make things faster and more useful (failing modules are now bisected automatically). Still a work in progress. In the process Whateverable got a noticeable refactor to make parts of it reusable.
  • And many other smaller fixes, improvements and speedups.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on FaceBook

Meanwhile on perl6-users

Perl  in comments

Perl 6 Modules

New modules:

Updated Modules:

Winding Down

Even though this week was a day shorter (on account of last week’s Perl 6 Weekly being a day late), there was plenty to mention and research. As you may have noticed. See you again next week!

Advertisements

2018.37 A DEtour of Damian

Out of the blue, or so it seemed, Damian Conway has appeared to do a Tour of Germany, giving presentations in Frankfurt, Erlangen, Dresden and Berlin. The last day will be a full-day Advanced Technical Presentation class (thanks to Strato AG). Entrance is always free, thanks to sponsoring by the Frankfurt Perl Mongers (FaceBook comments).

Linux packages updated

Thanks to the tireless work of Claudio Ramirez, the Linux packages for the Rakudo 2018.08 Compiler Release have been updated. Which now also include support for Alpine 3.8 and openSUSE 15.0. Check them out at https://github.com/nxadm/rakudo-pkg/.

Improved hygiene in JIT templating

After last week’s Rakudo Compiler release, Bart Wiegmans has merged a branch that provided many updates to the JIT expression template compiler in MoarVM. This should make it easier and less error-prone to write JIT expression templates, as he explains in a blog post.

What I did not steal from Perl 6

Ilya Sher, the author of the Next Generation Shell describes in his blog post things that he would (like to) steal from Perl 6, or not (Reddit comments).

Math::Matrix Introduction

Herbert Breunung introduces the Math::Matrix module in the first
blog post of a series (Reddit comments).

Tailgrepping Spinners

Brian Matatu has written a nice blog post about grepping the output of a tail -f (aka looking for things from a process that writes lines to standard output as they are written) (Reddit comments). Then Ralph Mellor took the idea to ask a question about the readability of the script. One interesting quote from the responses:

The start react ... whenever { } stuff looks interesting enough for me to stick this on my Big Pile of Stuff to Look intho, though.

Twisting the Rationals

Donaldh dug deeper into the performance of rational numbers (aka Rats) in a blog post titled A Twist To The Rational Story. It also showed a nice way to use a combination of [+] and race that yours truly hadn’t thought of yet!

Spotlight on Timo Paulssen

Timo Paulssen responded to a question on the new Curious Cat platform on how he got involved with Perl 6. He further described how he made videos of cellular automata in Perl 6. Interesting stuff!

Jo Christian Oterhals at it again!

The past week did not see 1, not 2 but 3 blog posts by Jo Christian Oterhals:

All very interesting reads!

I Am Sparrowdo

Alexey Melezhik has written an introduction on how to use Sparrowdo on Windows. Cool to see a nice tool getting a proper introduction!

Swiss Perl Workshop

The past weekend also saw the Swiss Perl Workshop 2018. Separate videos of each presentation are not available yet, but since everything was live streamed, there are archives available of the raw streams: Day 1 and Day 2. Kudos to the SPW organizers and to Lee Johnson to make all of the streaming and recording seem so easy.

Core Developments

  • Ticket status of past week.
  • Since this weekly is already very late and very full, yours truly will summarize next week for two weeks.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on FaceBook

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

So. Much. Happening. And not enough time. Hopefully next week’s Perl 6 Weekly will be more in time than this one. See you then!

2018.36 Normality Returns

A little later than originally anticipated, but Rakudo has had another compiler release: 2018.08, thanks to Samantha McVey (MoarVM release) and Aleks-Daniel Jakimenko-Aleksejev. After it turned out impossible to make 2018.07 stable enough for a release, it was decided to scrap that release. The 2018.08 release had a few stability issues as well, but these were all fixed in the past week. This means we’re ready for a new round of optimizations to be tried and tested!

London Perl Workshop on 24 November

Due to a planning conflict, most notably with freenode #live, the London Perl Workshop has been moved from 3 November to 24 November. You can still submit your Perl 6 related presentation!

“Learning Perl 6” Available

brian d foy tells us that Learning Perl 6 is now available as ebook in various formats. Some reviews are already available. If you contributed to the Kickstarter, you should have been notified by now.

More about “AAA” .. “ABS” Strangeness

Jo Christian Oterhals continued his quest on finding the difference in behaviour of "AAA" .. "ABS" between Perl 5 and Perl 6 (FaceBook comments).

Containers in Perl 6

Elizabeth Mattijsen had part 3 of her series on the differences between Perl 5 and Perl 6 published on opensource.com (Reddit comments).

Faster FASTA

Timo Paulssen got triggered by a question on StackOverflow, did some research which resulted in an excellent blog post (Reddit comments).

Awesome and Fascinating

Those were the words that Mr. Spaz used to describe a presentation about Perl 6 that JJ Merelo gave at the ZipRecruiter offices to the Los Angeles Perl Mongers: There’s-a.new(:Perl).in-town().

One Year Of Squashathon

Although the past weekend’s documentation Squashathon wasn’t such a big success, it was the 13th Squashathon in a row. Which means we have now over a year of Squashathons! Kudos again to Aleks-Daniel Jakimenko-Aleksejev for setting all of this in motion!

Core Developments

  • Ticket status of last week and the month of August.
  • Jeremy Studer made sure that initializing a native array with a lazy Seq, or splicing a lazy Seq into a native array, throws immediately.
  • Aleks-Daniel Jakimenko-Aleksejev removed support for $*INITTIME, as was promised in the deprecation message.
  • ribbon-otter supplied code that allows support for all coloncircumfix in the form 42.:<->.
  • ryn1x made sure that Regex.ACCEPTS(Uni) sets $/ as expected.
  • Elizabeth Mattijsen made sure that Seqs smartmatch Iterables correctly. She made it also possible to emit Mu values.
  • And some other smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl Modules

New Modules:

Updated Modules:

Winding Down

It’s good to be back home and be able to write the Perl 6 Weekly in a familiar surrounding for a change. Next week’s Perl 6 Weekly will be coming from somewhere near Switzerland, while returning from the Swiss Perl Workshop. See you next week!

2018.35 A Quick One From Kilfenora

Coming to you while yours truly is enjoying some of the Burren, the Cliffs of Moher and Ireland in general: it’s good to meet up with old friends in Kilfenora.

A Glimpse Of The Future

Bart Wiegmans got inspired by one of Ovid‘s benchmarks to write a blog called “A Curious Benchmark“. Short-term it shows that all of the optimization work that Jonathan Worthington and Timo Paulssen have done over the past weeks (which will be merged after the 2018.08 Rakudo Compiler Release) already made that benchmark about 3x as fast in Perl 6. But maybe even more interestingly, the blog post shows the potential of Perl 6 becoming about 10x as fast than Perl 5 (for this particular benchmark at least) and being only 30% slower than compiled C code (Reddit comments).

Cro Middleware Tweak

Jonathan Worthington is inviting comments on a proposal to rework the functionality of before and after in Cro middleware.

Upcoming Conferences

Early September will see two Perl conferences, which are sadly overlapping: the Nordic Perl Workshop and Mojoconf and the Swiss Perl Workshop. Both will have some Perl 6 related presentations:

Doomed to Extinction

A poorly informed blog post by Nick Kowalski titled 5 Programming Languages Doomed to Extinction mentioned Perl 5 and Perl 6 as one of them. This spurred quite a lot of comments on Reddit.

LinkedIn Languages Index

Francesco Nidito took a fresh approach on trying to figure out the popularity of programming languages. An interesting approach that did not lump together Perl 5 and Perl 6 for a change. Yours truly must disagree with one of the points, though. Since I find Perl 6 being used by more and more people I do not know, the following statement appears to be in error:

«Perl 6» is the only language that permits you to know easily all the community 😊

How many between “AAA”..”ABS”?

Jo Christian Oterhals wrote a blog post about an intriguing difference between Perl 5 and Perl 6: Perl 6 small stuff #7. Your truly initially assumed a bug, fixed it then unfixed it after TimToady showed that the behaviour is intentional (although not tested for and not documented). To be continued…

Free all the butterflies

Nigel Hamilton re-kindled the naming debate with A plan for Perl’s branding – let’s free all the butterflies with quite a few Reddit comments.

The Perl Conference in Glasgow

Patrick Spek has written a nice blog post about his experiences at the Perl Conference in Glasgow (Reddit comments).

Core Developments

Trying to summarize core developments for 1 week has become more and more problematic. Doing 3 weeks, it feels nearly impossible to do justice to all the work many people have done. So if your work is not mentioned here, please take that as shoddy work by yours truly, rather than anything else.

  • Ticket status of the past 3 weeks.
  • Jonathan Worthington made the spesh thread more responsive by adding GC-points to the optimization process. He also made logging of code inlining settable with an environment variable, fixed a long-standing race condition with the setting of the name of newly generated types, and did a lot of work on providing more information for the code optimization logic to use.
  • Alexius Korzinek fixed several issues when encoding buffers.
  • Timo Paulssen optimized fast loops just a little bit further.
  • Stefan Seifert fixed an issue with JIT compilation related to Inline::Perl5 and a segfault related to NativeCall.
  • Samantha McVey fixed an issue with Unicode Regional Indicators.
  • Jeremy Studer fixed a pesky Travis testing issue on MacOS.
  • Zoffix Znet micro optimized some post-increments into ever-so-slightly smaller/faster pre-increments where possible in NQP.
  • Elizabeth Mattijsen optimized interpolation of variables / expressions into double quoted strings. And she did several large-scale refactors to create better optimizable Perl 6 code in the setting.
  • Rob Hoelz and Nick Logan fixed an issue with mixed slashes / backslashes on Windows in the CompUnit::RepositoryRegistry.
  • And many, many, many other fixes, (efficiency) improvements and other goodies.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on PerlMonks

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

The past weeks went by much more quickly than yours truly ever imagined. But on my toes, I will need to be! Aleks-Daniel Jakimenko-Aleksejev found mention of twimbot, that is much like our notable6 bot, but with a twist:

…it either assists the author by making it easier to produce the blog post you’re reading, or it coldly replaces the author…

Hopefully it will not get to that point!. Please check in again next week to see whether yours truly really still is writing the Perl 6 Weekly!

2018.34 A Quick One From Tyndrum

While enjoying some touristic activities in the Northern parts of Scotland (well, North of Glasgow anyway), this Perl 6 Weekly comes from the town of Tyndrum. According to the Wikipedia article:

Thus unusually there are two stations serving the same small village, only a few hundred yards apart, but about 10 miles (16 km) apart by rail.

Which yours truly finds oddly descriptive of the situation in the Perl community: so close, yet seen as so far apart by some.

The Perl Conference in Glasgow

And what an excellent conference it was! And live-streamed as well all over the world. Some blog reports have already surfaced, all of them referencing Perl 6 in some form or another:

By next week, there will be separate videos for each presentation. Until then, you will have to do with the raw recorded live-streams.

Alas, not all things where hunky dory: Mark Keating issued a formal apology for things that had gone wrong (Reddit comments).

Other Blog Posts

Core Developments

Alas, too much R&R to dive into this with the appropriate amount of depth and precision. Hopefully next week a 3-week overview.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on PerlMonks

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

Having done a whole-day workshop + a last-minute presentation has taken a lot of energy from your truly. Good thing the weather cooperated for a time by being typical late-summer weather for Glasgow. Please check in again next week for more Perl 6 news!

2018.33 A Quick One From Glasgow

Greetings from the city that will host The (European) Perl Conference this week. A lot colder and wetter than yours truly got used to the past 6 weeks. It takes a little getting used to.

FOSDEM 2019 – Call for Speakers

Wendy van Dijk has issued a Call for Speakers for the Perl DevRoom at next year’s FOSDEM in Brussels (2/3 February 2019). This would be a good time to send in your Perl 6 related talk proposals!

Blog Posts

Core Developments

More about that next week when yours truly is less tired.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Updated Modules:

Winding Down

As predicted last week, this week’s Perl 6 Weekly is slightly later and smaller than usual. Hopefully next week yours truly will have more time while feeling better. So, see you next week!

2018.32 Squashathon Done

This weekend’s Squashathon was the best Squashathon so far: 29 contributors have worked on 276 issues of the 314 issues that were found with modules in the Perl 6 ecosystem. At the moment of this writing, only 24 remained open. Fortunately, many of the issues were uninstalled native library issues. Installing the native library in many of the cases, solved the problem that the ecosystem toaster had found. But other cases were much more problematic and needed a lot of research.

Most of the preparatory work was done by Aleks-Daniel Jakimenko-Aleksejev, kudos for that! And kudos to all of the participants, some of who spent many hours trying to figure what it really was that was going wrong with a module, to make the whole ecosystem better.

Marketing Perl 6

Zoffix Znet has put a lot of time and effort into creating marketing materials for Perl 6. In a blog post titled: Introducing: Perl 6 Marketing Assets Web App, he immediately introduced the Perl 6 Marketing Assets Web App. This led to some comments on FaceBook and blogs.perl.org. Yours truly is looking forward to many more Perl 6 marketing materials. Do you have an idea to promote Perl 6? Please be sure to leave an issue in the Perl 6 Marketing Repo!

Rakudo Star 2018.06

Steve Mynott has just announced the Rakudo Star 2018.06 Release, which can now be downloaded. Because there was no 2018.07 Compiler Release of Rakudo, the Rakudo Star release is based on the 2018.06 Rakudo Compiler release.

Small stuff

Jo Christian Oterhals has written another fine blog post about Perl 6: Perl 6 small stuff #4: Why Perl isn’t COBOL nor Python nor Java (or… having fun with Rats). It made a lot of people comment: /r/perl, /r/perl6 and Twitter: #1 and #2. Yours truly can only say: keep up the good work, Jo Christian!

Newcomers Guide To Contributing

Zoffix Znet has written a blog post about the Newcomer Guide to Contributing to Core Perl 6, which introduces a draft version of that guide. Reactions could be found on FaceBook and Twitter!

Comma, a Perl 6 IDE

Jonathan Worthington has had an interview with the people of JetBrains about the Comma IDE, an integrated environment for development and debugging of Perl 6 programs. Comments were found at FaceBook and on Reddit.

Command Line Arguments

Luis has written a nice blog post about the Command line arguments in Perl 6. For some reason, it has been relatively unnoticed (so far). Hopefully, that will change now, as it is a nice introduction into the multitude of possibilities with command line argument handling in Perl 6!

Ping Pong

Brian has started a new blog, with its first article about message passing between threads in Perl 6. Zoffix Znet liked it.

A Long Sad Story

raiph successfully started a discussion about Regexp Ranges and Locales: A Long Sad Story, and how that is still Less Than Awesome in Perl 6.

Migrating Perl 5 code

Elizabeth Mattijsen started a series of 12 articles about the migration of Perl 5 code to Perl 6. This gave rise to comments on Reddit.

Core Developments

  • Ticket status of last week and the month of July.
  • Daniel Green fixed a large number of compiler warnings when compiling MoarVM with clang. He also optimized array slices if they consisted of only literal index values, and made Buf.subbuf about 8x as fast.
  • Bart Wiegmans finally merged a refactor of a part of the JIT expression engine, on which he’d been working at least 6 months, making it easier for everybody to create JIT templates.
  • Zoffix Znet cherry-picked and adapted some of his work on the cancelled rationals grant.
  • Tom Browder implemented proper support in Perl 6 pod for =defn definition lists.
  • Jonathan Worthington wrote an RFC about possible ways to implement more binary handling primitives in MoarVM and Perl 6. Please leave a comment if you feel you can add to the discussion.
  • Elizabeth Mattijsen slightly changed the semantics of the set operators that do not return Bool. They will now return a mutable version of the result if the first operand of the set operator was also mutable.
  • And many other smaller fixes, optimizations and improvements.

Meanwhile on Twitter

Meanwhile on FaceBook

Meanwhile on StackOverflow

Meanwhile on perl6-users

Perl 6 in comments

Perl 6 Modules

New Modules:

Please note that updated modules exclude the modules that are updated, but which are not (yet) on CPAN. CPAN uploads are one place to check, updates to many hundreds of different repositories is something that will need to be automated:

Winding Down

Wow again. Hot Stuff. And not only outside!

Next week’s Perl 6 Weekly might come a little later, possibly on Tuesday, because yours truly will have been busy giving the Making your Perl 5 Modules work in Rakudo Perl 6 workshop at The Perl Conference in Glasgow on Monday. Which, through an unfortunate planning situation, runs in parallel with Jeff Goff‘s ‎Introduction to Perl 6 workshop. Both of which still have seats available (hint, hint!).

See you sometime next week for more news from the exciting world of Perl 6!