in reply to Re^2: Informal Poll: why aren't you using traits?
in thread Informal Poll: why aren't you using traits?

The other option is to use Multiple Inheritance (which is what Catalyst uses).

It is important to note thet Catalyst uses MI, but it also uses NEXT. Using NEXT allows a greater control over MI and how and when methods are called.

But to be honest, MI doesn't have to be so scary/ugly/problematic anymore. DBIx::Class (which is associated with Catalyst) is actually in the process of transitioning from MI with NEXT to using Class::C3. Class::C3 is a module I wrote recently which imposes a sane ordering for method dispatch under multiple inheritence. It comes originally from the language Dylan, and has some roots in early LISP object systems (pre-CLOS), and has most recently been adopted by Python. There is more information on C3 in the SEE ALSO section of the Class::C3 POD docs.

-stvn
  • Comment on Re^3: Informal Poll: why aren't you using traits?