So during the usual discussions on #catalyst last night, we came to the following paraphrased topic:
other: mango using Moose? me: no, but I do have a meta() other: oh god. don't do that. please. me: why? my modules, not using moose, meta is fair game. it's just a method. other: the sky is falling. kittens will die of you do that.
use metaclass 'MySpecialMetaClass';
I agree, no module has specific domain over &meta
, I am not sure why "other" got so upset.
I dont know about the other &meta
out there, but with Moose we try to always make sure we don't step on other modules toes. And in many cases we avoid calling ->meta
and instead fetch the metaclass from the Class::MOP cache in a more direct fashion.
In fact, Class::MOP (the metaclass system Moose is built on) never insists on &meta
and always fetches the metaclass from the cache.
If the two need to merge in the future, I surmise that:is my friend.use metaclass 'MySpecialMetaClass';
This will not work as you think, metaclass.pm installs it as &meta
too (just like Moose). But we can talk more about the best solution when you get there