After enjoying the fireworks in his hometown and looking back on his grant work in December, Jonathan Worthington looks forward to 2019 giving an overview of features to appear in Perl 6 and MoarVM. Such as Partial Escape Analysis, decreasing compilation and startup time, and more concurrency safety. As well as getting Cro
to 1.0 and getting the community version of the Comma IDE
out. Looks like it’s going to be a busy year for Jonathan again (Reddit comments).
Rakudo on Javascript
Paweł Murias has written an update on the Javascript backend. He describes his work that is specific for the Javascript backend, and the stuff he’s done that is more generally useful, such as pre-compiling scripts
before execution. Generally, and more specifically when doing a spectest, to shake out the last bugs with regards to precompilation.
Leapt seconds
Brian Duggan explains the support for leap seconds in Perl 6. And the intricacies when working with DateTime
and Instant
objects, taking leap seconds into account.
Tomtit profiles
Alexey Melezhik introduces Tomtit profiles, sets of predefined tasks that you can have Tomtit run for you. Interesting stuff if you’re really lazy!
Introducing p6env
Shoichi Kaji-san introduces a new tool for managing different versions of Rakudo Perl 6 called p6env
. If you know how plenv
works, you’re all set!
Squashathon results
Last Saturday saw yet another squashathon, this time focused on open issues that needed testing. And the winner is Ben Davies! (activity log).
Zoffix
Careful Rakudo Perl 6 observers may have noticed that Zoffix‘s Twitter feed has been very quiet since his tweet about awaiting Larry’s ruling with regards to the way the alias “Raku” should be used. His last tweet announced that he will no longer be involved in Perl 6 at all. On the #perl6 IRC channel, Zoffix worded it as “the project’s direction and management style doesn’t match my goals and I’ll be happier elsewhere“.
This is really sad news. Zoffix has meant a lot for the Perl 6 effort: just by looking at the sheer number of commits in the Rakudo repo, should give one an idea on how much he has done in the past 3 years. And that’s without taking into account all of the other things he’s done for Perl 6.
Zoffix, thank you for all of the work you have done! I can only hope that Larry will be able to share his views on the alias question soon and in a way that will make Zoffix come back to Perl 6.
Ticket updates
Aleks-Daniel Jakimenko-Aleksejev has made a nice overview page of current and past updates on the status of Rakudo tickets. In it, you can for instance see that people created 1254 new issues in 2018. By that metric, one can see that there’s still a lot of work to be done. But also that a lot of people are actually using Rakudo Perl 6!
Core Developments
- Timo Paulssen fixed a performance problem on simple code blocks not getting specialized.
- Samantha McVey made sure that the MoarVM tarball can be extracted on
AIX
. - Paweł Murias continued refining code on the Javascript backend, as described in his blog post.
- Daniel Green performed some micro-optimizations in the code generating
NFA
‘s, making some cases of grammar parsing about 5% faster. - Jonathan Worthington merged a lot of his work regarding the lowering of
$_
of the past months. This allows for much more aggressive optimizations in the near future. An immediately visible optimization is that no allocation for$_
will be done anymore for loops of the formfor ^10 { ... }
if$_
is not used inside the loop. - Elizabeth Mattijsen performed many local optimizations, such as comparing
Rat
‘s (4x to 15x as fast), creation ofInstant
(5x) andDuration
objects(4x as fast), use ofMap/Hash.sort
(11x as fast),Buf.gist
(2.5x as fast),unival
(2x as fast). - And many other smaller fixes, improvements and additions.
Questions about Perl 6
- How do I store the value returned by either
run
orshell
? by uzixxx. - Using
Proxy
to trigger on attribute access by p6steve. - How to use junction inside regex interpolation? by lisprogtor.
AES
encryption? by chenyf.- How to implement Python’s
os.urandom
method? by chenyf. - How to read
gz
file line by line by con. - How can I rebuild an edited module that I’ve downloaded? by Moray Jones.
- Correctly passing a routine into an object variable by Richard Hainsworth.
nosink
in AST nodes by JJ Merelo.- Can one module conditionally
use
another module? by p6steve. - Creating an executable? by lisprogtor.
- Is it possible to make compile-time code non-cached? by Takao.
- Regex not matching end
$
character with filenames by con. - When too few threads, program hangs by Richard Hainsworth.
Meanwhile on Twitter
- Kebab-case by mcturra2000.
- √2 + 2×π – 𝑒² by Brad Gilbert.
- Jack of all trades by ryn1x.
- To Perl 6 by Josh Sherman.
- Red is released! by Fernando Correa de Oliveira.
- Red just works! by Jonathan Stowe.
- Great way to create applications by JJ Merelo.
- It never stops by JJ Merelo.
- Fireworks! by Jonathan Worthington.
- Perl 6 knows by JJ Merelo.
- How to do parsing right by Danny McClanahan.
- Maintained by Coder Scoop Inc.
- In great shape by Ralph Mellor.
- Everybody switch? by Thomas Kahle.
- Alternative craziness by c10.
- MorphOS? by Nicolas Mendoza.
- World Peace by Silvia Botros.
- Finally released by Dale Wijnand.
- Bash completion! by Alexey Melezhik.
- Notebook by सुमन खनाल, MS.
- Hyper is just awesome by Simon Proctor.
- Forgotten subset for Tinky by Jonathan Stowe.
- Excited! by Tommy Stanton.
- Thank you, Mythic Beasts! by Joelle Maslak.
- Add completion by Sergey.
- Something sensible by Sean Moore.
- Blog coverage TPCiG by The Perl Shop.
- On my read list by Claudio Ramirez.
- Installed 4 or 5 by 寿限無.
- Or line noise by Rob Rix.
- Forgotten Yak shaving by Jonathan Stowe.
- Take on Camelia by Tim.
- Subtracting large numbers: easy by brian d foy.
- Right answer by ‘Aztec Eagle’ Turbo.
- Shell based on Perl 6 by エヌユル.
- Give it a chance! by JJ Merelo.
- Distributing itself by Jonathan Stowe.
- Next Rakudo Star will be 6.d by Joelle Maslak.
- Added environments by Alexey Melezhik.
- Net::BGP benchmark by Joelle Maslak.
- Seems to work by nwiizo.
- It worked! by nwiizo.
Meanwhile on Facebook
- Golf to 2019 by Eugene Barsky.
- Running out of memory by Zarul Zakuan.
- Booth at FOSDEM by Wendy van Dijk.
Net::BGP
released by Joelle Maslak.
Meanwhile on perl6-users
- Bad syntax check by ToddAndMargo.
**@args
question by ToddAndMargo.
Perl 6 in comments
- Q lang by xisukar.
- A third option by Ralph Mellor.
- On versioning by Ralph Mellor.
- Evolution of meaning by Ralph Mellor.
- 12 year old blog post? by Elizabeth Mattijsen.
- Missing features by Ralph Mellor.
- Currying by Ralph Mellor.
- On the other hand by Amidatelion.
- Different by TheUnlocked.
- Acts like multiple values by Ralph Mellor.
- Perl 6 and Wolfram by al203cr.
- Easier by Reini Urban.
- Surprised me by Aardwolf.
- If I want correct by hedora.
Perl 6 modules
New modules:
- Net::BGP by Joelle Maslak.
- Math::Polygons by p6steve.
- Red by Fernando Correa de Oliveira.
- File::Metadata::Libextractor by Fernando Santagata.
- Igo by Jonathan Stowe.
Updated modules:
- Hash::Agnostic by Elizabeth Mattijsen.
- Uzu by Sam Morrison.
- Sparrowdo, Tomtit by Alexey Melezhik.
- App::Mi6 by Shoichi Kaji.
- HTTP::Headers, DOM::Tiny by Sterling Hanenkamp.
- BlkMeV by Don Park.
- XML::Actions, GTK::Glade by Marcel Timmerman.
- Cro::HTTP::Test by Jonathan Worthington.
- META6 by Jonathan Stowe.
Winding Down
A week with very mixed feelings. Joy in seeing a new year start and the anticipation of good things about to happen in 2019. An example of which are five new Perl 6 modules on CPAN, of which at least one has the potential of becoming a killer application feature of Perl 6.
Mixed feelings because of the sadness of seeing a core team member deciding on not wanting to wait any longer for guidance. Being an optimist at heart, yours truly hopes to be able to report soon that Zoffix has come back to the project that is clearly close to his heart.
So see you next week for more Perl 6 news!