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

Reply via email to