Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Well, you could duplicate all of this functionality and require no MI at all using Moose and the Class::MOP meta level (the only forced inheritance being Moose::Object, but even that is optional). This all too common abuse of inheritance was one of the main reasons I wrote Moose the way I did. Having the meta layer allows you to add behavior to classes which belong with the class and not with any object instances created by the class (your classic OO "seperation of concerns"). Some of this behavior could e

    • Heh. Point taken :)

      It's also worth noting that two of those classes provide their own constructor. Hmm, which should I use? Can I use both? Must I use both? All the more reason to provide that functionality without inheritance.

      Speaking of Moose (which I really like, though I've yet to have used it in a production environment, how's it's performance coming along?

      • Speaking of Moose (which I really like, though I've yet to have used it in a production environment), how's it's performance coming along?
        Well, the startup cost is still kind of high because we do so much in the compile phase, but if you are in a persistent environment that is a moot point. The runtime speed is basically "fast enough" for most people and making your class immutable only increases that.

        The most basic accessors are actually faster than Class::Accessor, of course if you add type constraints and such it will slow it down some. Object construction can be a little expensive, but if you make your class's immutable then the constructor is inlined and that cost is greatly reduced.

        - Stevan