Re: Shimming The Moose Way
[email protected] (Niall Young) Thu, 10 Apr 2014 17:24:52 +1000 (EST)
| Newsgroups | perl.moose |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 10 Apr 2014, Thalhammer, Jeffrey Ryan wrote: > Can you categorise them down into a few mechanism types, and then define new syntax to > represent and expand each out into a particular implementation of that underlying > mechanism? > > I think I see where you are going. Â If I can distill things down to a few conventions, then I can > use configuration or a type of DSL to do the work. Â Does that sound right? Or introduce new syntax like MooseX::Declare, or they advocate for 5.14+ Devel::CallParser, Function::Parameters and Keyword::Simple which I've not looked into any myself btw: http://search.cpan.org/~ether/MooseX-Declare-0.38/lib/MooseX/Declare.pm#WARNING > I've been storing everything in an attribute slot with MooseX::Privacy's 'Private' or > 'Protected' traits. Â However there are constraints around declaring them like that in > a Role, something I want to explore when I get time. > > Thanks for the suggestion, I'll look into that. It changed my code in a fundamentally better way, I just hope I can get them working with Roles - both to be private/protected to the Instance, as well as to the Role itself like where p5-mop-redux is going *happydance* > Â If we can declare an interface with typed parameter slots, method signatures and all > that jazz - I for one would find it incredibly useful, for the same type of > de-coupling issues that you're dealing with above. > > Sometimes I feel we have turned Perl into Java. Â But that's probably ok, because they have turned > Java into Perl. Goldilox had the right idea. I wouldn't go that far, I look at it more like Perl is catching up to the 1960s. Attribute slots with Types in Perl was a game changer for me. I suspect that typed method parameters, and signatures, are going to be equally important. > Thanks for sharing your wisdom. Â I'll sleep on it and see how things go tomorrow. Cheers, though I'm sure there are many better viewpoints and ideas that others on the list can share! I tend to go off exploring stuff that seems obscure to others: but getting data hiding and encapsulation correct is at the core of everything, I suspect. -- Niall Young [email protected]