Adam Kennedy - Extending PPI Towards a Refactoring Perl Editor

Author: Adam Kennedy

Extending PPI Towards a Refactoring Perl Editor


Various work on a series of infrastructure modules and other functionality required for the creation of large tools and IDEs that use PPI. To excite and stimulate the Perl community in this area by creating a proof-of-concept of an advanced/refactoring Perl editor.

Benefits to the Perl Community:


Provide a caching system for the parser to improve load times when handling large numbers of Perl documents.


The PPI Metrics API and database. Provides a common platform for artificial intelligence or statistics-based analysis of Perl code.


Given the huge success of the Perl Best Practices book, provide a package that implements many of the book's guidelines, helping developers and companies to automate improvements to their codebases. This would help encourage higher Perl use and adoption, and thus improve the number of well paid Perl programming positions.


A common framework for adding enhanced functionality to Perl editors, such that plugins targeting this API add functionality to all editors capable of acting as a Perl::Editor "host".

Perl Editor Proof of Concept

To have at least one of the Perl editor projects in a suitable position to demonstrate the benefits of this concept the community, and to potential sponsors of larger work in this area.

Leadership and Communication

Run a series of planning and co-ordination meeting for members of the Perl community interested or working in this area.

Project Details:

With the successful completion of the PPI Perl parser, the attention of many in the Perl community is turning to the next layer of Perl analysis and manipulating functionality. The primary focus is on the idea of some form of advanced/refactoring editor for Perl, written in Perl such that the community can modify and improve on it themselves.

Project Schedule:

The grant is intended to cover around 150-200 hours of work. This work is likely to (as before) be spread over a number of months. My current expectation is an initial release and demonstration of the Perl editor at the OSDC/YAPC::AU conference in Melbourne in December.


My general details remain unchanged from the previous TPF grant. However in addition, I note that as the author of PPI I am the logical person to continue this work. I also note that I successfully complete my previous grant in this area, despite it undergoing a considerable lengthening of schedule (to take into account longer periods of beta and user testing).

^^^^Amount Requested:

$USD5000 in relation to hours worked on the various items outlined above over the grant period.