This week saw the landing of Stefan Seifert‘s two-month work to make precompilation of modules better maintainable and less resource-hungry. We can now actually use the precomp files generated on installation, so e.g. users no longer have to wait on first use for precompilation of system installed modules. Same is true for developers who no longer have to wait for precompilation of installed modules just because they run their code with
-Ilib. This also means that we spread around precomp files much less. So
lib/.precomp will usually only contain precomp files for the modules we find in
lib/. Finally, this new repo format fixes an issue with packaging modules for Linux distributions.
This week also saw the landing of Leon Timmermans‘ eight-month work on a Perl 6 Test Harness. This allows us to run the
stresstest using a Perl 6 implementation of the
TAP protocol. This should allow us to more easily and more rigorously test Perl 6, simply by setting the environment variable
6. Unfortunately for those of us on
OS X, this does not work yet: this seems related to a bug with awaiting a
Promise. Anyway, this is dogfooding at its best! And a step closer to not needing Perl 5 to make and test Perl 6.
QA Hackathon in Rugby
- H.Merijn Brand (Tux)
- Sat with Tadeusz Sośnierz (tadzik) to get rakudo build bleading edge perl6 (moar & nqp) so my timings make more sense.
- Sat with Liz to optimize
Text::CSVfor Perl 6 and then fixed a problem with aliasing multi-methods (ticket filed).
- Elizabeth Mattijsen (Liz)
$*MAIN-ALLOW-NAMED-ANYWHEREfeature, allowing a more familiar CLI to scripts (inspired by tadzik++).
- Implemented comparison operators other than
- Looked deeper into how
Versionobjects are actually two types of objects.
Test.pm6a bit faster (spectest now runs 5% faster).
- Looked at/Merged leont++ work wrt to running spectest using a Perl 6 harness.
- Fixed a crash in
Channelhandling found by MarcusRamberg.
- Discussed a lot of
PAUSE/ Perl 6 /
CPANissues with available people, which should be coming to fruition later this year.
- Helped Perl 6 newbies by answering Perl 6 questions.
- Philippe Bruhat (BooK)
- Hacked on Git::Version in Perl 6 with Elizabeth Mattijsen (liz), which led to discussions about the Version class in Perl 6, and several rakudo commits by Liz to improve it.
- Improved (by a factor of about 25) the number of tests in Perl 5 Git::Version::Compare after reading the Perl 6 tests for Version.pm, and started working on stress tests for Perl 6 Version.pm using the same technique.
- Leon Timmermans (leont)
- Worked on making Perl 6’s build less dependent on Perl 5.
- Tadeusz Sośnierz (tadzik)
- Worked on much needed and long overdue
App::redpandaas a part of that.
- Found and fixed a bug in Rakudo with “
where” constraints in
MAINwouldn’t properly trigger
USAGE(later improved by peschwa++).
Getopt::Type(not really toolchain related).
- Fixed the
Qtprofiler frontend to work on the new profiler output format.
- Added an easy way to build the bleeding rakudo in
- Went through a lot of bugs in
- Worked on much needed and long overdue
- Comb It! by Zoffix Znet
- Trinity by Carl Mäsak
- Extra-Typical Perl 6 by Zoffix Znet
S///Operator by Zoffix Znet
- Refactoring And Torture by Jonathan Worthington
- Need Perl 6 Modules On Windows Then Use
zefby Charlie Gonzalez
- There Are Traitors In Our Midst! by Zoffix Znet
Other Core Developments
Not too much else happened: some minor bugs were fixed.
- Fixed bug in
Str.substr-rwthat in some cases would return a handled
Failure, rather than an unhandled one.
List.minmaxwould ignore failures and mark them as handled: this has been fixed, and as a side-effect, it is now up to 3.5x faster.
- Basic signal handling got added to the JVM backend: alas so far only for signals that will exit the program.
More than one distribution per day added in the past week. M. Hainsworth created a very nice Ecosystem Citation Index. The additions for this week are:
- App::MoarVM::HeapAnalyzer by Jonathan Worthington
- Algorithm::BloomFilter by yowcow
- Devel::Trace by Altai-man
- TXN::Parser by Andy Weidenbaum
- App::ModuleSnap by Jonathan Stowe
- Audio::OggVorbis by Clifton Wood
- Bailador::Dev::AutoRestarter by Zoffix Znet
- Bailador::Plugin::Static by Zoffix Znet
- Bailador::Plugin::AssetPack::SASS by Zoffix Znet
- Bailador::Template::Mojo::Extended by Zoffix Znet
- Task::Noise by Perl 6 Noise Gang
Some loose ends from last week basically made me so tired, that I will need to postpone looking for gems in the backlog by yet another week.