I was just sent a tarball from Roman Daniel. He fixed a heretofore unknown bug in Class::Trait whereby the class could not be profiled with Devel::DProf. I made one quick tweak to allow $class->does($class) to return true and uploaded the tarball.
0.21 Sep. 12, 2006 - Converted Class::Trait::Config methods to be normal getter/setters, not lvalue methods. lvalue methods prevent the code from being profiled via Devel::DProf. Bug reported by Roman Daniel. He also rewrote it to fix the problem. - Fixed bug where classes would report false for $class->does($class). Reported by chromatic.
Though you might not hear much about it, this is probably the module I get the most email about. Apparently, it's being used in production much more widely than I ever dreamed of.
See chromatic's review for a gentle introduction to traits (known as 'roles' in Perl 6).
Re:Yup
Ovid on 2006-09-12T15:50:51
Well, 0.20 is stable and works fine if you don't need Devel::DProf (there may be other issues with Devel modules, I don't know). Also, if you don't need $class->does($class) to return true, than 0.20 should be fine.
That being said, if you have any issues with it, let me know!
Re:Yup
sigzero on 2006-09-12T15:55:17
I just went ahead and integrated it. Since there aren't any "binary" issues being a pure Perl module.
Composable Units of Object Behavior is a fuller, more philosophical exploration of roles and their uses.