"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

Reply via email to