"David L. Nicol" wrote:
>
> They gain us compliance with the whims of the people who like barewords
> for variable names. You may or may not find that to be a good thing.
It's not just that I don't think dropping $'s is a good idea, but that
is the general consensus as well. I can't see
dog spot;
Ever getting into Perl realistically. For one thing, that already has
strong meaning as:
spot->dog;
Because of the truly wonderful indirect object syntax.
> We also gain a way of differentiating between a "Scalar" which refers
> to a "type" which is something else and a lot of very late binding, and
> a fixed-size object, an implementation detail that rfc 161 does not address.
>
> These fixed-size "external" objects would not subclass Scalar, and they
> could be easily differentiated if they were barewords. From a API point
> of view they are crippled scalars.
These types of distinctions are very valid, but again I think you're
focusing too much on trying to create a whole new syntax to accomodate
them. A new keyword or type or attribute is all you need:
my int $spot : optimized = 5;
var int $spot = 5;
my fastint $spot = 5;
Your ideas are good, I just think your implementation suggestions are
not Perl.
-Nate