Alan Gutierrez wrote:
>
> I still hope that it doesn't get as complicated as all this. I know
> there are arguments out there for specifying integer size and signedness
> but I can't imagine that adding this stuff is a good thing.
Key thing: This is all *optional*. This is *not* required. I cannot
stress that strongly enough.
These extensions are for those people that need to really care about
every bit, or that need to specify specific properties for variables and
subs.
> Here I'd prefer to see private and laccess as functions.
>
> private $r->{name} = 'Nate';
> laccess $s->{VAL} = '';
>
The problem is twofold:
1. The proliferation of many many keywords
2. Inability to group declarations
For example, you couldn't do this:
my $r->{name} :private :laccess('first') = "Nate";
Plus, you aren't able to restrict your attributes to certain classes.
For example, what if you want ":fluffy" to only be an attribute for your
Dog class?
I just submitted an RFC on a common attribute system; check it out and I
think you'll agree this is a more flexible and extensible approach.
> And as far as the :shared modifier goes I much prefer the our keyword.
Where did you see a :shared modifier? Not in this RFC. :-)
our would have the same abilities as my, with the difference being the
scope of the variable, same as currently.
-Nate