Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Creating accessors on the fly, or not...

by lodin (Hermit)
on Jun 14, 2009 at 07:14 UTC ( #771356=note: print w/replies, xml ) Need Help??


in reply to Re: Creating accessors on the fly, or not...
in thread Creating accessors on the fly, or not...

And lastly, I would suggest replacing
has $accessor => ( is => 'ro' );
with the more MOPish
$self->meta->add_attribute($accessor, (is => 'ro'));

I'm curious—is there any actual difference (direct or indirect), or is it a matter of principle?

lodin

Replies are listed 'Best First'.
Re^3: Creating accessors on the fly, or not...
by stvn (Monsignor) on Jun 15, 2009 at 00:39 UTC

    No, there really is very little difference, they are basically equivalent. I guess is it a matter of principle, the declarative "sugar" is meant to be used during class definition time and the MOP is meant to be used at all other times.

    But, that all said, it might make more difference when we work out how to "compile" Moose classes (though I don't know this for sure) because part of that plan would involve caching the generated metaclass and then possibly turning the sugar keywords into noops (at least that was a path we explored in the early MooseX::Compile prototypes). So I guess if you really want to future proof things, it is best to use the MOP in this context. Hopefully by the end of YAPC::NA next week we will know more, it is one of the key topics on the Moose hackathon agenda.

    -stvn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://771356]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (2)
As of 2022-01-25 03:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (65 votes). Check out past polls.

    Notices?