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