Dan Sugalski wrote:
> At 11:09 AM 8/16/00 -0400, John Porter wrote:
> >Strings and numbers are not *exactly* the same, even to humans, are they?
>
> At many levels, yes they are. After a point they differ, but what you see
> written is pretty much treated the same.
The same can be said for arrays / hashes.
> >The difference between numbers and strings is analogous to --
> >or, on further reflection, IDENTICAL to -- the difference between
> >arrays and associative arrays. (The former are numerically indexed,
> >the latter indexed by strings.)
>
> The analogy doesn't hold.
Oh, I think it does. Care to explain why it doesn't?
> And people treat arrays and hashes *very*
> differently, far more so than the trivial differences in the notation might
> lead you to believe.
This in itself is no reason for maintaining an explicit ("in-your-face")
distinction between them. Remember, I'm only arguing that the syntax
of $x[0] vs $y{z} is an artificial distinction.
my @set :assoc;
@set[ @things ] = ();
if ( exists $set[ 'item' ] ) { ...
> >...the argument that "if we changed the language
> >to be like that, it simply Wouldn't Be Perl." Not buying it.
>
> That's fine, I'm not selling it. It is, nonetheless, rather true.
As someone else has said, and I firmly believe, context is far more
essential to Perl's identity than linenoise prefixes.
> >In the expression C<foo( bar )>, bar is a symbol, regardless of its type.
> >There's no "turning a word into a symbol" going on that I can see.
>
> Not symbol to the computer, symbol to the *person*.
In that sense, any "word" that's not in quotes is a symbol, at least
wrt perl programming. We don't need a prefix to tell us that.
--
John Porter