Sorry for the delay in replying.

I find that Moo eliminates most of the boilerplate "smart" code initialization 
you talk about in Package::New documentation and it empowers me to use Roles as 
a means of separating concerns for reusable code in a library that doesn't rely 
on inheritance based dispatch. Roles are really powerful and unfortunately 
undervalued in programming, generally.

I really like doing something like

has [qw(foo bar baz)] => (
   is => "ro",
   default => 1,
   lazy => 1,
);

The one thing that bugs me a ton about Moo is strictures fatalizing warnings. 
As soon as that gets fixed upstream like mst promised at YAPC in June I will be 
a happy Moo camper. In the meantime, I use Moo::Lax.

Mark


On Monday, September 1, 2014 5:44 PM, Michael R. Davis <[email protected]> 
wrote:
 


Sent from my iPhone

On Sep 1, 2014, at 16:54, Mark Allen  wrote:


>
>I am curious why you feel like "Moo" is drinking the kool-aid and rolled your 
>own (Package::New)?

Actually, I didn't roll it, it was the common part of module maker from at 
least 10 years ago.  It was in an internal package until 2011 which is when I 
spilt it off about the same time as Moose was getting popular.

What about Moo do you find technically deficient?

I'm not sure I've ever found something Moose did for me.  If it had something 
that I needed I'd adopt it.  Since I POD all of my code the pod is always more 
typing than the code So I don't see how "has" is any shorter than "sub".
Thanks,
Mike


mrdvt92
_______________________________________________
Houston mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/

Reply via email to