Re: changing the default base class
[email protected] (Stevan Little)
| Newsgroups | perl.moose |
|---|---|
| Message-ID | <[email protected]> |
On Nov 17, 2006, at 12:01 PM, Eric Wilhelm wrote: > # from Todd Hepler > # on Friday 17 November 2006 08:40 am: > >>>> use Moose::Policy 'My::Moose::Policy'; >> It might be nice if you could leave out the "use Moose". I think >> that's the repetition. > > Would this be short enough or are we headed down the wrong path there? > > use Moose policy => 'My::Moose::Policy; I don't have too much trouble with this. It would mean merging Moose & Moose::Policy, but thats not really that objectionable. > What about? > > use OurMoose; > > Which would be supported by: > package OurMoose; > use Moose; > use Moose::Policy 'My::Moose::Policy'; > pass_thru(1); > > It seems that the caller() stuff in the Moose API generally limits the > ability to wrap it. It would be nice to be able to insert a thin > layer > to project-globally control mooseness. Thoughts? My concern with allowing Moose to be overridden is that it either it; locks me into the internals of Moose.pm (not only can I not change it, I cant improve it or extend it) OR causes simple updates to break your *entire* system in one fell swoop :P I don't like either option actually. To be honest, 99% of all the problems people will try to solve by wrapping Moose can be solved by some other means (custom metaclasses, using roles instead of classes, etc). - Stevan