Thank you for your comments.

To answer various questions/suggestions/comments:

- It will be for rewriting Perl, exclusively, using PPI, with Perl-centric
rules, so "Code" is not an appropriate namespace. (I don't think the PPI
namespace is appropriate, since in theory, it could use something else.
Note also Perl::Tidy and Perl::Critic.)

- It will be for modifying actual script/module files, as opposed to
modifying code on the fly, so "Filter" is not an appropriate namespace.

- "Perl::Transform" is good name, but I think means the same thing as
"Rewrite".  Since the latter is shorter, it wins. (I don't like the way
"Perl::XForm" looks, and that makes it look like it has something to do
with forms in X-Windows.)

- I'm thinking Perl::Rewrite is the best name, for now, since it rewrites
code using PPI. Bit by bit I will develop it on GitHub
https://github.com/robrwo/Perl-Rewrite - for now it just has some stub
rules, until I flesh out the interface etc.

Regards,
Rob

On Sat, Aug 31, 2013 at 6:11 AM, Robert Rothenberg <r...@cpan.org> wrote:

> At $work, I've been writing scripts that use PPI to munge massive amounts
> of legacy code. So far simple things like changing die/warn to croak/carp,
> ensuring all modules specify a minimum version number, or changing print
> "foo\n" so say "foo", etc. It seems worthy enough to turn this code into a
> CPAN module.
>
> My thoughts are that it would use a plugin system for specific tasks, and
> a command-line script that takes plugin names as arguments, so basically
> you'd run the script to apply various tasks to a set of modules or scripts
> in a directory, perhaps using a configuration file for each of the plugins.
>
> The early version would have simple plugins, but there's no reason why
> more complex plugins couldn't be written (e.g. to translate a non-Moose
> class into something Moose-like), or other things like optimize certain
> kinds of expressions.
>
> I'm well aware of the limitations of doing this automatically. But the
> idea is to get a script that can do the bulk of the tedious rewriting, so
> that a human can clean up the mistakes. It's meant to be run by intelligent
> people who use things like version control and tests.
>
> So what should it be called? I'm thinking Perl::Rewrite is the best name.
>
> > Alternatives are:
> > - Perl::Refactor - except "refactoring" has a technical meaning that I
> don't think applies
> > - Perl::Modernize - except that one might want a plugin that translates
> newer-style code into older code
> > - Perl::Munge - except that it connotes sloppiness
> > - Perl::Snorft - no, just kidding.... I have no idea what that means.
> > - ?
>
> Thanks,
> Rob
>

Reply via email to