Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Old NumberCrunching Modules

by davido (Archbishop)
on Aug 13, 2012 at 02:47 UTC ( #987018=note: print w/replies, xml ) Need Help??

in reply to Old NumberCrunching Modules

Attempt to contact the author (likely to fail, since the module is sooooo old). Contact the PAUSE folks to request a transfer of ownership or maintainership. If it needs to be on CPAN now, upload an unauthorized version (bump the version number too). Once maintainership is granted, bump the version again and upload (so that it gets indexed).

Your OO module is a new beast entirely, and deserves its own name. Math::Brent::OO or Math::Brent::Class, possibly. That way you don't break an existing module (and unlikely as it may be, a dependency on that module) by converting it from functions to an OO interface. The mailing list is a good place to vet module names. Be sure in your new module to document clearly how it differs from the old one; Simpler OO interface, more thorough test suite, portability as a design goal, etc.


Replies are listed 'Best First'.
Re^2: Old NumberCrunching Modules
by jgamble (Pilgrim) on Aug 13, 2012 at 18:57 UTC

    I agree that you need to acquire ownership if the original author is unavailable now. Double-check that by posting to mailing list to make certain.

    Then fix the bug and documentation error before re-writing and re-factoring code. It's only one extra version upload, and it lets the module's users know that you are making changes and lets them prepare for those changes.

    I also have ex-Fortran code in Perl, and the sensible process there is to make the basic, obvious changes (change loops to use the '..' operator; fix variable names to something meaningful instead of single letters; lexicalize function variables that are only found within an individual loop down to that loop).

    (Looking at Math-Brent's code, it looks like the original author already did some of that, although it seems in some cases he has multiple variables in play where an array would be more useful).

    Then consider OO-ing the code.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://987018]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2018-05-25 05:37 GMT
Find Nodes?
    Voting Booth?