
On Sat, Oct 29, 2016 at 11:02:36AM +0900, Stephen J. Turnbull wrote:
Unfortunately here the most plausible syntax is one that Guido has said he definitely doesn't like: using '?'. The alternatives are pretty horrible (a Haskell-like 'maybe' keyword, or the OPEN SQUARE character used by some logicians in modal logic -- the problem with the latter is that for many people it may not display at all with their font configurations, or it may turn into mojibake in email.
I think you mean WHITE SQUARE? At least, I can not see any "OPEN SQUARE" code point in Unicode, and the character you use below □ is called WHITE SQUARE.
OTOH, that case was an astral character -- after Guido announced his opposition to '?', the poster used PILE OF POO as the operator. OPEN SQUARE is in the basic multilingual plane, so probably is OK if the recipient can handle Unicode. '?' vs. '□': maybe that helps narrow the choice set?
I cannot wait for the day that we can use non-ASCII operators. But I don't think that day has come: it is still too hard for many people (including me) to generate non-ASCII characters at the keyboard, and font support for some of the more useful ones are still inconsistent or lacking. For example, we don't have a good literal for empty sets. How about ∅? Sadly, in my mail client and in the Python REPR, it displays as a "missing glyph" open rectangle. And how would you type it? Ironically, WHITE SQUARE does display, but it took me a while to realise because at first I thought it too was the missing glyph character. And I still have no idea how to type it. Java, I believe, allows you to enter escape sequences in source code, not just in strings. So we could hypothetically allow one of: myobject\N{WHITE SQUARE}attribute myobject\u25a1attribute as a pure-ASCII way of getting myobject□attribute but really, who is going to do that? It is bad enough when strings contain escape sequences, but source code? So even though I *want* to use non-ASCI operators, I have to admit that I *can't* realistically use non-ASCII operators. Not yet. Wishing-that-somebody-can-prove-me-wrong-ly y'rs, -- Steve