-
Notifications
You must be signed in to change notification settings - Fork 35
Description
I'm taking a look at Function::Parameters and have come to conclusion that it's vastly superior. It uses Perl keywords rather than Devel::Declare (that solves a lot of problems right there). Its parser is implemented in C (faster and more reliable than PPI). Its syntax is more in line with Perl 5 signatures.
I propose we turn Method::Signatures into a thin compatibility wrapper around Function::Parameters.
I further propose that we declare Method::Signatures obsolete. Method::Signatures has hit the limit of what Devel::Declare can do, and its syntax is not in line with Perl 5.
I'm working with @mauke to add some missing features as options so I can write a nearly complete compatibility wrapper. So far it's been going very smooth and has even fixed some long standing bugs.
The down side is Function::Parameters requires 5.14. It uses PL_keyword_plugin which was introduced in 5.14, there's no work around. I'm ok with this, but I know @barefootcoder has needed 5.8 compatibility.
I've used Method::Signatures extensively in Gitpan and love using it, but I've also hit its unsolvable limitations (particularly with messing up line numbers). I'm happy to junk the existing code base if it makes the tool better.