Smylers wrote:
> This is only objecting to having English operators as synonyms for
> symbolic ones.  None of the above would apply if where English forms
> were used they were to be the _only_ forms, with no symbolic
> equivalents.

Yes, I think we're basically saying the same thing, but in different
ways.  I think my broader argument is that, indeed, few operators have
english possibilities, BUT in having all these linenoise operators,
we're using up our karma points.  We need to gain them back in other areas.

I'm thinking particularly of verb-things, adjective-things, and
prepositional things, not noun-things like $UID, etc.  My particular
examples are indeed the verbs "map" and "grep".  What do they do?  Well,
mapping and grepping.  It's ingrained for most of us, from using them so
often, but a beginning programmer _really_ doesn't know what those words
mean in those contexts.  Even though, as pointed out before, "map" is a
real word!

Here's my own train of thought.  How would we say ~~, out loud?  How do
you pronounce it in conversation, I mean?  Probably as "smart match", or
more likely we'd say, for $a ~~ $b, "a matches b".  So maybe "matches"
works as an english name.  Still a little long, so what about just
"match" or "like"?  Heck, I'd even argue that "$a mat $b" works, too. 
What does "mat" do?  It "mats".  If "grep" is a word, "mat" can be a
word.  :-)  Or "lik".  Or  "sma".  Letters make brain happy.  Happy
brain good!

Now, maybe "mat" works, and maybe it doesn't: I don't think we should
force letter-isms where they just don't work.  But in any places they
might, I think we owe it to ourselves to try REALLY HARD to make
something work.  The whole properties things, for example.  We've got
"is", and "is" is going to be a modifier for a
whole-heck-of-a-lot-of-things.  And "is" is short, so we like it.

But there are some things that you can think of as "properties" that can
be more rigorously categorized, and can do so with sufficient clarity to
be useful.  Instead of

         my Dog $dog
              is fetched { ... }   # callbacks on the var
              is stored  { ... };

why not make an "on" companion to "is" that implies a property that's an 
event/callback/assertion?

         my Dog $dog
              on fetch { ... }
              on store { ... };

It doesn't seem to cost us much, and I'd argue it's cleaner, and
potentially more meaningful to the compiler.

But yes, I certainly agree it sometimes goes the other way, too.  We can
argue that one place it english doesn't work is "but", because "but" is
counterintuitive for some situations.  So maybe "but" needs a
punctuational counterpart.  Maybe, shudder, that's where ':::' gets used.

I'm certainly against mere aliases for the general and/or/xor/math
operators.  Just cautioning that we need to look hard through
/usr/dict/words and see where we can get back some karma!

MikeL

Reply via email to