Carl wrote:

> For what it's worth, we had exactly this discussion a couple of days
> ago on IRC. I represented your views above, Damian.

Thank-you for that.


> As long as C<.perl> works the way it does, there can be no real
> privacy.

Sigh. That is indeed badly broken. Surely it ought to default to C<die>,
and require class architects to override .perl explicitly if they wish to
break encapsulation.


> And thus C<.get_value> and C<.set_value> are just convenient
> access points for the same behaviour.

Yes. People are going to shoot themselves in the foot anyway,
so let's legalize semi-automatic weapons as well.


> I'm still undecided on whether or not I think C<use MONKEY_TYPING;> is
> the right way to enable this kind of privacy breakage. Maybe nothing
> is needed, since the C<^> in C<$obj.^attributes> (or the C<HOW>)
> already says "warning! meta!".

Except that, if the Attribute object is passed around, it may be saying
"warning! meta!" in a completely different scope, in a completely
different file.

Damian

Reply via email to