Tony Cook writes:

Approximately 42 tickets were reviewed or worked on, and 7 patches were applied.

1.20#120903 review, testing, apply to blead
#120903 fix typo, half-write a perldelta entry and decide not to
0.97#122368 review new patch, comment (eventually)
0.65#123831 review discussion, research and comment
2.52#123867 review newest patches, testing
#123867 review test results, apply to blead
2.98#123981 travis modifications and testing
#123981 review test results, commit authors test change,
post a new patch
0.95#124232 review discussion and reject

Dave Mitchell writes:

I spent October mainly working on two things.

First, I optimised some common arithmetic operators: + - *, so that for the very common case of both args being simple ints in ranges that won't overflow, or both being floats, a simple C-level + or whatever can be directly done. For more complex or mixed args, it falls back to the existing slower code. For ++ and --, I optimised the simple integer case. I also improved the core SET[iun], PUSH[iun] and XPUSH[iun] macros, which set the pad targ to a numeric value and push it on the stack. Since PADTMPs and lex vars (which is typically what a pad targ is) are often used in the same way, e.g. always assigned and used as an integer, those macros now check whether the targ is already of the right type, and if so directly set the value, rather than just blindly calling sv_setiv() etc. The combination of the above makes the nbody benchmark (lots of floating-point vector arithmetic) about a third faster.

Second, I continued overhauling perl's context stack and dynamic scope implementation.


59:16 #124156: death during unwinding causes crash
0:09 [perl #117341] av_undef's POD is confusing
0:33 [perl #125937] 'x' operator on list causes segfault with possible stack corruption
4:35 [perl #126082] unshift to @ISA
1:11 [perl #126145] Problem with stack moving fix for Perl_load_module
2:23 [perl #126170] Assertion failed: S_finalize_op (op.c:2562)
1:55 [perl #126229] POSIX::strerror() clears $!
2:27 [perl #126309] 'x' operator on list causes segfault and confuses valgrind, 64-bit version
0:29 [perl #126472] Bleadperl v5.23.3-33-g6768377 breaks HANENKAMP/Tie-Simple-1.03.tar.gz
0:32 add perldelta entries
13:00 make arithmetic faster
0:34 optimise the Boyer-Moore string finder (as used in REs and index())
11:45 process p5p mailbox

98:49 Total (HH::MM)

As of 2015/10/28: since the beginning of the grant:

106.4 weeks
1600.0 total hours
15.0 average hours per week

There are 0 hours left on the grant.

The Grants Committee has received four grant proposals for the November round. Before the Committee members vote, we would like to solicit feedback from the Perl community on them.

Review the proposals below and please comment there. The Committee members will start the voting process on November 28th and the conclusion will be announced by November 30th.

If your comment does not appear in 24 hours, it is likely that our spam filter did something bad. Contact me at tpf-grants-secretary at


ProposerRequested AmountLink to the Details
Ngangsi Richard AkumboUSD 6,938Women in Technology, Cameroon
Chad 'Exodist' GranumUSD 2,500Test::Simple + Test::Stream stabilization and merge into perl-blead
Chad 'Exodist' GranumUSD 2,000Test::Stream Manual
Will BraswellUSD 1,200RPerl Alioth Benchmarks, Part 2 (*)

(*) This proposal was carried over from the September round.

The grant program wouldn't have been possible without our Sponsors. Thank you so much.

We have received the following grant application "Women in Technology, Cameroon". Please leave feedback in the comments field by November 27th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at

A project proposal for the promotion of technology entrepreneurs, providing a technology hub and training the next generation of technology entrepreneurs by empowering women and girls.

  • Name:

    Ngangsi Richard Akumbo Founder Of Pycon Cameroon Site: Facebook Page: Mobile: (+237)673003303

  • Amount Requested:

    USD 6938

    We are Requesting: 4000 USD to be able to quick start the project since we have very limited resources available to quick start the project.

    We will use this amount to buy the 10 computers, pay for 4 months Internet services.


History of Pycon Cameroon

Pycon Cameroon is a non-profit organization that was founded by Ngangsi Richard Akumbo purposefully to tackle most of the crumbling blogs and issues we face here in Cameroon and Africa. Pycon Cameroon was an independent project form to tackle the technology sector in Cameroon. Pycon Cameroon started up in 14th December 2014. During this first session we held a two days workshop on an introduction in to computer programming using the python programming language. This workshop was to create awareness among women and girls on the essence of computer programming. The workshop lasted for two days. We had an introduction into computer sciences and programming using python programming language. Computer programming is a very rare assert within the society i come from.

In August 2015 we launched a one month program where we trained women and girls on the introduction into Computer sciences using the python programming language. The course was attended by many women and girls in the city of Bamenda. Bamenda is a thriving city in the North west region of Cameroon. Its population is made up of age group ranging from 18 to 30 years old. It is vastly populated by young people. Bamenda is one of the English section of Cameroon since Cameroon is a bilingual country and we represent the minority in the republic of Cameroon. We have less opportunities and the people are in serious hardship because 99% of the government positions in the country is occupied by the French Cameroonians (Franco-phones). So development really does not come that much in our province.

Number of organisation Members: 3 Number of full-time employees: 2 Funding Sources:

Python Software Foundation PO Box 37 Wolfeboro Falls, NH 03896-0037 USA

Benefits to the Perl Community

Firstly this project will begin a new community of Perl developers in Cameroon. The project will increase the amount of Perl developers. It will help to participate in the core development of perl programming when need be. More projects will be developed using the Perl programing language. The project will also help participate in the mailing list of Perl. More Apps will be built using the Perl programming language because of an increase in the community of Perl Developers.


There will we a weekly report that will be sent to the Perl Foundation including details of what is going on with the project and at what stage that we have arrived, the difficulties and the progress which will be made. This report will include videos and pictures with detail account of every progress of the project.

We have received the following grant application "Test::Simple + Test::Stream stabilization and merge into perl-blead". Please leave feedback in the comments field by November 27th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at

Test::Simple + Test::Stream stabilization and merge into perl-blead

  • Name:

    Chad Granum

  • Amount Requested:

    USD 2,500


Stabilize and release the Test-Stream + Test-Simple overhaul.

Benefits to the Perl Community

Test-Simple (an important CPAN distribution which includes Test::Builder and Test::More) is the heart of nearly every test tool for perl. For several years now, the distribution has had very little in the way of progress or development.

For almost two years now, I have been working on revitalizing the project. My work focuses on introducing much needed new features and fixing long-standing issues. I've done all this while maintaining extremely high standards of backwards compatibility.

Here is a list of just some of the benefits:

  • Improved support for UTF-8 and other encodings

    With the current Test::Builder based tools it can be painful to use non-ASCII encodings. The documentation provides an example of iterating over several handles used internally by Test::Builder and changing the encoding one at a time.

    With Test::Stream, the encoding can be changed easily, and on the fly.

  • Better tester-testing capabilities

    There are two tools available for testing tools written on Test::Builder. Both of them have major drawbacks and produce very fragile tests.

    Test::Stream was written with improved tester-testing - writing tests for the library you've written to write tests - as a primary goal. Writing tests for tools built on Test::Stream is very easy and significantly less fragile.

  • API enhancements that learn from the 10+ years of Test::Builder history

    Test::Builder has been at the core of testing in Perl for over 10 years. In this time, many valuable lessons have been learned, usually in the form of design decisions that were wrong but could not be easily reversed. Some stand-out examples are the singleton, monkey patching, and the subtest implementation.

    Test-Stream was developed while taking a hard look at the pain points in Test::Builder. Difficult feature requests and modules forced to use bad-practices to achieve their goals were examined in depth. APIs have been added to address the specific needs that led people to abuse the implementation of the old Test::Builder.

  • Hooks that provide much-requested capabilities

    There are many places in Test::Builder where people have wanted to be able to plug in new functionality. For the most part people had to resort to monkeypatching Test::Builder methods. Monkey patching is not sustainable, and breaks the idea of test-tool interoperability.

    Test::Stream is full of hooks, and is written in a way that new hooks can be easily added if needed.

  • A very complete test suite

    Test::Stream has a very rich and complete test suite. Currently it sits at 95.2% coverage, though this is actually not entirely accurate as Devel::Cover is unable to cover thread tests.

    Note: High coverage does not mean no bugs, and coverage for its own sake is rarely an effective goal.

  • Extremely good backwards compatibility

    Turning Test::Builder into a compatibility wrapper means that a vast majority of existing tools will continue to work unchanged, and will still play nicely with new tools written on Test::Stream. There are a few exceptions to this, but they are rare on CPAN. Generally only modules which need to completely replace the Test::Builder singleton will be broken. Modules which monkeypatch Test::Builder will typically continue to work so long as they follow good practices.

At this point the project is feature-complete and needs to move from rapid-churn into stabilization. The code seems ready, but I need to battle-test it.


  • Test-Stream in bleadperl

    Test-Stream is the new heart of the testing ecosystem. New tools should be built directly on Test-Stream for access to the latest capabilities. Perl's ""blead"" branch is where the next version of perl is developed. Putting Test-Stream in blead is an effective way to get run on many configurations. =item A Test-Simple powered by Test-Stream in perl-blead

    The next Test-Stream will include a Test::Builder that has been modified to defer to Test::Stream under the hood. This will turn Test::Builder into a compatibility wrapper.

    Merging this into blead will result in the new code receiving much more testing against CPAN. Blead is smoked against CPAN very frequently, so it is a good place to put these modules to the test.

  • Completion of the punch-list set by the perl-qa group in Berlin 2015

    At the perl-qa hackathon in Berlin (2015) we had a discussion that resulted in a ""punch list"" of requirements for an overhaul of Test-Simple.

    The list can be found here:

  • A release of Test-Stream without the 'experimental' warnings

  • A non-dev release of Test-Simple that uses Test-Stream under the hood

    This is essentially crossing the finish line, it will effectively put the new code into production.

We have received the following grant application "Test::Stream Manual". Please leave feedback in the comments field by November 27th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at

Test::Stream Manual

  • Name:

    Chad 'Exodist' Granum.

  • Amount Requested:

    USD 2,000


I am proposing to write a Test::Stream manual. The Test::Stream distribution already has very complete module documentation. The manual will build off the individual module documentation and provide very valuable integration and usage details.

Benefits to the Perl Community

Test tool development has been held back for a very long time now. Test::Stream should unblock a lot of areas related to testing, but only if people can figure out how to use it. This manual should make current and future test developments accessible to all perl developers.


  • Test::Stream::Manual

    A brief introduction and table of contents.

  • Test::Stream::Manual::WritingTests

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

    * The name of the manual page, and the manual layout will need to be finalized.

  • Test::Stream::Manual::Tooling

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

    * The name of the manual page, and the manual layout will need to be finalized.

  • Test::Stream::Manual::Maintenance

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

    * The name of the manual page, and the manual layout will need to be finalized.

We have received the following grant application "RPerl Alioth Benchmarks, Part 2". Please leave feedback in the comments field by November 27th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at

RPerl Alioth Benchmarks, Part 2

  • Name:

    Will Braswell

  • Amount Requested:

    USD 1,200


RPerl v1.2 has been released with a working N-body benchmark, as promised. Thanks to RPerl, we are now able to run N-body at the speed of C++, which was claimed by many in the Perl community to be impossible. This grant proposal is to create 2 additional Alioth benchmark applications.

Benefits to the Perl Community

Alioth is the premier language benchmarking website, and Perl is ranked at-or- near the bottom of several different benchmark applications.

Many members of the general public will be turned away from Perl adoption by the terrible ranking of Perl among other programming languages. The N-body benchmark is 1 step forward, now we need to take 2 more.

The Perl community will benefit by a dramatically more positive public language ranking, and (hopefully) an increase in new Perl users as a result.


Deliverables for this grant proposal are:

1. Mandelbrot fractal benchmark application 2. Any other Alioth benchmark application except regex-dna, as chosen by TPF

About TPF

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

Recent Comments

  • Karen Pauley: Thanks for pointing that out! read more
  • Ngassa Sophie: Hello,Technology has brought a lot of nations out of poverty,why read more
  • Leon Timmermans: This is too early. There are to many areas where read more
  • Deckson Ndiche: I don't understand the issue here. @Ben Tilly, Even if read more
  • Ben Tilly: Yes, I have read the Forbes article. In percentage year read more
  • Makoto Nozaki: Re: Broken link It seems MT4 put the <a> tag read more
  • Ngangsi Richard Akumbo: Remember, Cameroon is a country with extreme poverty and corruption. read more
  • Ben Tilly: I read through that link and a few related links. read more
  • Ngangsi Richard Akumbo: How many prospective students showed interest in the course? Eight-month read more
  • Makoto Nozaki: The committee members had discussion and we would like to read more

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 4.38