in reply to Re^2: Evolving roles and 3rd party modules
in thread Evolving roles and 3rd party modules

I was hoping for some button or configuration in Moose that makes roles less strict (e.g. warn() instead of die() when a required method is missing). I guess no one else would need or like such a feature?

Nope, we shun those kinds of ideas in Moose. The features are all there for a reason and often times other elements of the system rely on them working to provide the entirety of the given functionality. That said, Moose does provide a lot of meta-layer hooks and extension points so it might be possible to make a "soft" role like what you describe as a MooseX:: module.

Depending on how you are using this role you might want to just think about plain old duck-typing instead. If you never provide implementation in the role then the Moose:Util::TypeConstratins duck_type() feature may be enough for your needs.

-stvn
  • Comment on Re^3: Evolving roles and 3rd party modules