Shadowcat Systems Limited

sufficiently advanced technology

Telephone 01524 842155
Email: info(at)

Sat Feb 16 10:00:00 2013

Pumpkin Perl - the Patchset

Since we're not even considering landing this onto blead until after 5.18 ships, taking it to the perl5 developers now would basically just be a good way of disrupting the release cycle.

As such, I don't plan to go anywhere near either the perlbug utility or or the perl5-porters list until around the time that 5.18 goes into the RC phase, and I'd ask that everybody else interested in this extends them the same courtesy.

Which means that we need somewhere to get the patches and doc review stuff done in the meantime.

Introducing - pumpkin-perl-staging

It's a repository under my github account, which currently contains three branches - a blead branch which is exactly the blead from perl.git, the pumpkin-patchset branch which is where I expect us to do the work, and the gh-pags branch which currently has an HTML version of the meat of my breakdown post.

The patchset branch

The pumpkin-patchset branch already has a commit that modifies -v/-V output, so on my machine a build of it says:

$ ~/pumpkinish/bin/perl5.17.10 -v

This is Pumpkin Perl (perl5), version 17, subversion 10 (v5.17.10 (v5.17.9-19-g3008272*)) built for x86_64-linux
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2013, Larry Wall

Pumpkin Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Pumpkin Perl source kit.

Complete documentation for Pumpkin Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at, the Pumpkin Perl Home Page.

The 2 registered patches part is that we're not doing this work on blead (and does result in a test failure). I wouldn't worry too much about it.

What's needed though is to figure out all the non-code places that need to be tweaked - 'perldoc perl' is going to need to say something about this, and I'd imagine we need to change primary references to say 'Pumpkin Perl (perl5)' or something.

I'm really rather hoping I can get some help here, because there's a lot of docs to skim and because we absolutely need multiple sets of eyes on it.

Note that it's on github so you can do drive-by editing of a single file. I'll manage the pull requests.

I will be rebasing this onto the real blead fairly regularly, so I'm afraid you can expect a lot of force pushes - but I'll happily try and rebase people's PRs before applying them, and memory says that github is smart enough to follow that I've done that.

The pages branch

The idea here is for this to become a living form of the manifesto, and probably also a checklist of all of the changes we've made. It's visible under my github subdomain and the HTML's in the gh-pages branch.

If somebody can figure out how to switch it to generation via markdown, please feel free. Otherwise I'll try and get round to it.

Lots of people have been saying that "if only perl was on github, we'd contribute all the time". Well, here's your chance to prove that github genuinely makes it easier for you to contribute to things; if I get more pull requests than I do normal patches I'll start thinking about how to gateway github to old school development styles more.

Oh, and if you're also a bit of a grumpy command line fan, do try:

fetch = +refs/pull/*/head:origin/pr/*

in your .git/config - it means I can treat a pull request as just another remote branch, so currently the only thing I actually need github for as such is to notify me when one turns up.

In summary

Please start thinking about which perldocs will need to be tweaked and how.

Please tell me if there are any updates to the manifesto that you want.

Please raise issues, send pull requests, or post comments.

We can take as long as we like over this, but I'd much rather have it ready to go by the time the RCs roll around so that we can get the conversation largely completed by the time blead re-opens - and thereby minimise the disruption to feature addition work in the 5.20 cycle as well.

Let's carve a smiley face in it and give it a go.

-- mst, out.

(you should tell me what you think by commenting at