April 2018 Archives

March 2018 Grant Votes

The Grants Committee has concluded the voting of the March 2018 round.

There was one proposal this round:

The Perl Conference Newsletter: 04/26/2018

No Comments

In This Issue:

Follows the report by Chad Granum (aka EXODIST) for his grant: Test2 Manual.

Test2 Manual grant complete

This is a completion report for the Test2 manual grant.


  • Test2::Manual

    Original description:

    A brief introduction and table of contents.

    Completed form:

    Jumping off point with a map of the manual layout/table of contents.
  • Test2::Manual::Tooling

    Original description:

    This section will cover writing test tools. This would be a root document
    with several other page links.

    Complete form:

    The tooling page is the portal to all tooling tutorials. This section
    covers writing test tools.
  • Test2::Manual::Maintenance / Test2::Manual::Anatomy

    Original Description:

    This section will cover maintaining Test2 itself. This will be a root
    document pointing to pages that explain the internals, and how they work

    Final Form:

    I renamed this section to Test2::Tools::Anatomy. This section covers docs
    about Test2 internals and implementation details. This section is more
    complete and useful than I originally intended.

Completeness Criteria

Original criteria section from my proposal:

The manual will be included in a Test2 release on cpan. The manual will
have all expected sections, with no significant gaps or TODO sections.

Test2::Manual, with all the specified sections is now included in the Test2-Suite distribution on cpan. There are no TODO's or gaps in the sections that were part of my proposal, though there are TODO's in a third section that went beyond the scope of my grant.

The version with the complete manual is Test2-Suite-0.000114.

Bonus Material

I went beyond the scope of my original grant report and added the Test2::Manual::Testing section. This section is still incomplete, but was not part of my original grant proposal anyway, as such all the content that is complete is a nice bonus.

I also added the Test2::Manual::Concurrency and Test2::Manual::Contributing pages.

Revisiting the inch-stones

  • Migrating from Test::Builder


    Conversion notes and examples for people moving from Test::Builder. This
    will detail how tools might have changed, what is gone, and introduce some
    new or replacement concepts.

    This is done as Test2::Manual::Tooling::TestBuilder.

  • Simple OK tool


    This is the most basic tool you can write, and is valuable for explaining
    the key concepts universal to all Test2 tools.

    This section is complete, Test2::Manual::Tooling::FirstTool.

  • The Test2 API


    This covers Test2::API, and all the functionality it exposes.

    This was not done as a single section. Instead there are handful of tutorials which show how to use some of the most common API functions.

  • The 'Context' object


    Explain what the context object is, why it is important, and how to use it

    This did not need its own section. The Test2::Manual::Tooling::FirstTool covers all the important points about the context object from a tool writers perspective. Everything else is covered by the Test2::Manual::Anatomy::Context document.

  • The 'Hub' object and API


    Explanation of the hub objects and how they work.

    This section is not necessary. Tool developers no longer need to directly interact with hubs. The things that would have been covered here are now part of the context and API pages.

  • Custom Hubs


    How to write a hub subclass (essential for Subtest like tools).

    I decided not to write this section. A custom hub should rarely if ever be needed from the perspective of someone writing a new tool. The Test2::Manual::Tooling::Subtests covers the documentation I was going to write related to subtest like tools.

  • Custom event types


    How to write an event.

    The event API underwent a major rewrite since my grant proposal, custom event types are now discouraged, as such this is not a necessary section.

  • Custom output formatters


    How to write an output formatter.

    This section was completed as Test2::Manual::Tooling::Formatter.

  • Writing IPC drivers


    How to write a custom IPC Driver.

    This section is not necessary, writing a custom IPC driver is not something to undertake lightly, and is not something a normal tool author needs to know about.

  • Component map


    Map of all Test2 components.

    This is complete as Test2::Manual::Anatomy::EndToEnd. This is a more useful page than the originally specified one would ahve been.

  • Basic building blocks


    Explanation of low-level infrastructure such as Test2::Util::HashBase.

    There is no building blocks page, instead there are pages for specific building blocks.

  • How the 'Context' works


    Detailed overview of the Context object, and implementation details.

    This was done as Test2::Manual::Anatomy::Context.

  • The hub stack


    What the hub stack is, and why it is important.

    This is done as Test2::Manual::Anatomy::Hubs.

  • The IPC system internals


    How IPC works, and more importantly how it can fail.

    This is complete as Test2::Manual::Anatomy::IPC, except the failures of the IPC system have been reduced and handled better making the "how it can fail" component unnecessary.

  • Utilities


    The utilities library, and important implementation details.

    Done as Test2::Manual::Anatomy::Utilities.

  • Performance Notes

    Test2 is now faster than Test::Builder making this section unnecessary.

Grant Report : Complete YAML::PP - March 2018

No Comments

Tinita spent about 25 hours coding YAML::PP during March.

She emitted a production release at YAML::PP 0.006, which incorporates items from her previous reports, adding Writer and Representer objects, a nice Dumper, and cyclic reference detection.

In a spirit of multi-cultural outreach and understanding, she also made her first PR to PyYAML.

You can read all the details in her latest report.


This is a monthly report by Dave Mitchell on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible.

I spent the last month mainly doing two things:

1) fixing up Deparse.pm so that running the whole perl test suite through
Deparse, i.e.
    ./TEST -deparse
doesn't have any new failures.

2) going through the list of broken-in-blead top-1000 CPAN distributions
to confirm which now worked etc.

     13:39 fix up TEST -deparse
      6:17 investigate BBC blockers
      0:40 process p5p mailbox
     20:36 TOTAL (HH::MM)

 232.9 weeks
3030.9 total hours
  13.0 average hours per week

There are 102 hours left on the grant

I'm happy to announce that Ricardo Signes has become the newest member of the Perl Foundation board. His is the first board appointment following the new, more public, selection process we recently announced. Thanks to Rik for agreeing to be the first to use this process and to the community for the comments and feedback following his nomination. We look forward to Rik's continued contributions to the Perl community, now in his role as a TPF board member.

Perl 6: Bugfixing and Performance of Rationals

Fixing Constraints on Constants

  • Name:

    Zoffix Znet

  • Amount Requested:

    USD 1,999


The proposal is to perform two pieces of work on the Rakudo Perl 6 compiler along with a third bonus piece:

    1. Implement support for type constraints on constants and polish some of the rough edges with = and .= constants initializer calls.
    1. Fix several bugs and a race condition as well as fix problems in edge cases in instantiation and literals in core Rational types, also try to improve performance in this area.
    1. BONUS Work: Fix bugs in native uint64 attributes behaving like signed int64 types and try to use these attributes to boost performance of Rat type.

Grant Proposals: March/April 2018

The Grants Committee has received the following grant proposal for the March/April round.

Before the Committee members vote on the proposals, we would like to solicit feedback from the Perl community.

Review the proposals at their individual links and please comment there by April 7th, 2018. The Committee members will start the voting process following that and the conclusion will be announced the before the end of April.

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Archive

This page is an archive of entries from April 2018 listed from newest to oldest.

March 2018 is the previous archive.

May 2018 is the next archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2