Skip to content

Become a wrapper around Function::Parameters #116

@schwern

Description

@schwern

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions