We have received the following grant application "IO::All Redux". Please leave feedback in the comments field by November 25th, 2014.
- Ingy dÃ¶t Net
- David Oswald
Rewrite IO::All to match the needs of 10 years experience.
Benefits to the Perl Community
IO::All is a Perl module that attempts to make all Input/Output operations in
Perl, as simple, normal, and uniform as possible. IO::All has been in
existence since 2004. It is popular, useful and somewhat extensible, but has a
number of inconsistencies, flaws and misgivings.
The proposal is to refactor andor rewrite the IO::All code to become the
perfect way to encode almost all of Perl IO needs and file system needs. In
- All things are done safely
- Unicode issues are all handled correctly
- Options have the proper scope (lexicalpackageobject)
- Can be used safely in production
- Consistent method names (match prior art when possible)
- Stays simple for 1-liners (small needs)
- Internals are all plugin based rather than semi-hardcoded
- All operations are checked for errors
- Defaults are sane
- Mo(o(se)) compatible OO
- Weirder stuff like operator overloads will be off by default
IO::All has a community of maintainers on irc.perl.org/#io-all. These
ideas are the result of working with them and talking about a rewrite for
Using the Alt module strategy, we deliver an Alt-IO-All-Redux dist that
installs a new IO::All. This is tested in beta until deemed safe to release
properly as the new IO-All dist.
Current IO::All plugins are revised to the new strategy.
The style of the Inline Grant will be
- Regular Blogging/Tweeting
- Public Pair Programming
- Create Alt-IO-All-Redux dist so that new code can be used and tested by the community immediately
- Write tests for new behaviors
- Refactor the code to match the new design
- Port current IO::All extension modules to new design
- Get people on #io-all IRC channel and beyond to test the rewrite
- Release as IO-All when deemed ready
This project will take 3 months and can be started immediately upon
Alt-IO-All-Redux passes all tests, is vetted by the community and is released
to CPAN as the new IO-All dist.
Ingy dÃ¶t Net wrote IO::All in 2004. Of his many CPAN modules, it is probably
one of the 3 most popular.
David Oswald has been a Perl user for over a decade, is an author of several
CPAN modules, and maintainer of more. David also runs Salt Lake Perl Mongers.
Ingy and David work well together and have decided to collaborate on a number
of projects that will benefit Perl and Software Development.