Or, how to go from 2.5x slower to only 1.1x slower than Perl 5. Jonathan Worthington explains it all in his blog post titled “Optimizing reading lines from a file“. But that’s not all he’s done in the past week! Last Friday he also gave an online presentation titled “Primitives, Composition, Patterns” (slides), which was part of the sponsoring by Nick Logan. A must see if you want to get up to date on the latest in concurrency in Perl 6! And also a prime example of the quality of deliverables of sponsoring Jonathan.
Seqs, Drugs, And Rock’n’Roll
Zoffix Znet published part 2 of his blog post series about
Seqs. Please look at part 1, in which he discusses how a
.cache its values, if you haven’t done so already. Part 2 delves into how to write your own
Iterator and what you can do to optimize it for a number of use cases.
Other blog posts
- Perl is $schrödinger_state by Leon Fayer (Reddit comments).
/\d/is rarely what you want by Curtis Poe.
- Thoughts on Perl 6
eqvby Curt Tilmes.
So you want to be a Presenter
You can still be one at The Perl Conference in Amsterdam, as the Call for Papers has been extended to 7 July. There is no schedule yet, but the list of accepted talks is available. On it, you can already find the following presentations that have some relation to Perl 6:
- Precise Math in Perl 5 – A Lost Cause? Challenge accepted. by Martin Becker.
- Perl 6: Superglue for the 21st Century by Brian Duggan.
- Parsing with grammars shootout by Lars Dieckow 迪拉斯.
- Spit: A Postmodern DevOps tool, written in Perl 6 by Lloyd Fournier.
- Machine Learning in Perl 6 by Jeff Goff.
- Notes from the Trenches: Parsing Perl 6 *with* Perl 6 by Jeff Goff.
- It’s in the bag: How to cheat at interviews using Perl 6 by John Haltiwanger.
- Behavioral Subtyping and Composition by Yuval Kogman.
- Function Signatures Compared – Perl 6, Perl 5.20 and
Sub::Sigby Rolf Langsdorf.
- High End Unicode in Perl 6 by Samantha McVey.
- Unicode Internals of Perl 6 by Samantha McVey.
- Functional Programming in Perl 6 by Laurent Rosenfeld.
- How to hack the MoarVM JIT compiler by Bart Wiegmans.
- Jonathan Worthington worked a lot on
Proc::Async. For instance, it is now possible to get the native descriptor in
Proc::Async. This was done by creating a
Proc::Async::Pipe, which is a subclass of
native-descriptormethod that returns a
Promisethat will produce the native descriptor as soon as it becomes available. Reading
stderris now also delayed until the
Proc::Async::PipeSupply is actually
tapped. These changes now allow the standard output/error of one process to be chained to standard input of another process.
- Zoffix Znet introduced the
%*SUB-MAIN-OPTSdynamic hash support for tweaking the parsing of
- Elizabeth Mattijsen continued her work on set operators, specifically on
(+)(the baggy addition operator) and made sure that all set operators handle lazy lists correctly. She also reverted
(<=)and (<) after it was pointed out that these changes caused problems with some of the already documented examples, and the fact that there is a special set operator for
- And some other smaller fixes and improvements.
Meanwhile on StackOverflow
- Recursive generator – manual zip vs operator by dharmatech.
- Why are some of my ranges insane? by Christopher Bottoms.
- Is there a way to get a list of all known types in a Perl 6 program? by brian d foy.
- Do all Perl 6 quoting constructs have term precedence? by brian d foy.
- How do I find the version and authority of a Perl 6 module? by brian d foy.
Meanwhile on perl6-users
- Version of a Module by Martin Barth.
- Not enough memory by Gábor Szabó.
- Accepting values on the command line by Gábor Szabó.
A nice week with some surprises. A good beginning of the second half of 2017. Be sure to check again next week for more Perl 6 news!