As lizmat++ is currently enjoying a well-deserved rest in the Caribbean, today’s Weekly is guest-written by a Zoffix! Hopefully, it’s still going to be good…
It’s been a slow week, as many Sixers are attending the Free and Open Source Software Developers’ European Meeting (FOSDEM). As was mentioned in an earlier Weekly, there will be some Perl 6 talks. The videos for them already started rolling in: Perl 6 on Jupyter by Brian Duggan (slides and code).
So far, the event seems to be going well:
<tyil> the perl stand at fosdem was awesome, much more people that
showed interest in Perl 6 than I imagined
SQUASHathon
This weekend saw our 6th Monthly SQUASHathon happen. This month’s topic was squashing tickets marked with testneeded label and the participants made 47 commits towards that effort.
2018.01 Rakudo Star Binaries, Still Pending
stmuk++ is still testing the binary Release Candidates for 2018.01 release of Rakudo Star. You can help out by downloading the RC0 binaries and reporting any problems you find.
Core Developments
This week, 48 tickets were handled, with 26 of them resolved.
- ash++ implemented a
push-all
optimization toList.roll
- nine++ made several improvements to start up speed, by improving code of
Stash.merge-symbols
, optimizingCompUnit::PrecompilationUnit::deserialize
, as well as moving setup of certain objects like$*PERL
and$*VM
to compile time (this work is still ongoing) - MasterDuke++ continued working on implementing JIT templates for various ops, merging 30 more this week.
- ugexe++ fixed CompUnit::RepositoryRegistry to point to correct location for home repository
- samcv++ added support for windows-1251 (Cyrillic) encoding on both MoarVM and JVM backends, and fixed several bugs in windows-1252 encoding with several characters not being correctly encoded
- pmurias++ continued working on the JS backed, dealing with utf8-c8 encoding
- Kaiepi++ improved docs and
Configure.pl
option for building MoarVM - jstuder-gh++ fixed a bug with
state
variables inside ado loop
- titsuki++ and jnthn++ de-bittrotted nqp repository’s files and documentation
- dogbert17++ fixed segfaults when errors were encountered while opening
MVM_*_LOG
files - brrt++ added a NOOP expr JIT operator
- timotimo++ made sure PHI were not output into expr JIT log as well as made a proposal for datagram-oriented API for UDP sockets
- zoffix++ redesigned the
Whatever
,WhateverCode
, andHyperWhatever
currier, fixing a number of bugs, as well as making nestedWhatever
closures faster to compile and run (a 5-argWhatever
now runs 2.2x faster and compiles 8% faster). He also made.=
method calls 39x-64x faster.
Other assorted work core devs performed included:
- Fixed a bug in
sort
ing a 2-element list with arity-2 sorter - Fixed crashes in compile-time executed
where
thunks - Changed semantics of
:b
quoter tweak, to behave more likeqq
quoter, fixing a bug in:b:s
quoter combination - Fixed bogus error in REPL when a
none
Junction
was a result of the expression - Fixed crash with
ENTER
phaser nested insideLEAVE
phaser - Fixed crash in
Proxy.perl
Learning Perl 6
The Learning Perl 6 book by brian d foy has reached a milestone in its production: all of the research has been completed. All that remains to do is cleaning everything up and doing a bit of rework on some chapters.
Blog Posts
ash++ continued the DAILY Perl 6 Inside Out blog posts (while also writing for the Russian-language perl6.ru):
- 40. Substitution and balanced brackets in Perl 6 regexes
- 41. Converting Num to Rat in Perl 6
- 42. Mathematics in the Num data type in Perl 6
- 43. Variable $y not declared. Did you mean $x?
- 44. Exploring the pick and the roll methods in Perl 6, part 1
- 45. Exploring the pick and the roll methods in Perl 6, part 2
- 46. How does ‘pick’ return unique elements (Exploring the pick and the roll methods in Perl 6, part 3)
Winding Down
That’s about it for the week! Hope you enjoyed the guest-written Weekly. It’s a tough job writing these, so be sure to thank lizmat++ for doing them.
-Ofun