<div dir="ltr">What will the hyphen bring to what is already allowed with underscore?<div>It is not possible to break compatibility with '-' character.</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-19 3:01 GMT+01:00 Mikhail V <span dir="ltr"><<a href="mailto:mikhailwas@gmail.com" target="_blank">mikhailwas@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Python allows underscore character as a separator in variables.<br>
This is better than nothing, still it does not make the look much better.<br>
<br>
**Proposal**: allow additional separator, namely hyphen character.<br>
<br>
**Benefits**: this should provide significant readability improvement.<br>
Compared to most syntax change proposals that I remember till now,<br>
this seems to have really tangible benefits. So all in all I see it as<br>
a significant<br>
language improvement.<br>
Besides its direct benefit as a good looking separator, it also gives<br>
an opprtunity<br>
to reduce "camelCase" or similar ugly inclusions in code.<br>
<br>
So one can easily compose human-readable variable names e.g.:<br>
my-variable<br>
figure-shape---width<br>
etc.<br>
<br>
**Problem**: currently hyphen character is used as a minus operator!<br>
The problem is as old as the history of most programming languages,<br>
and inherited from initial poorness of character sets.<br>
Therefore I don't see a single optimal solution to this.<br>
<br>
Possible solutions:<br>
<br>
Solution 1:<br>
Use another similar looking character from unicode,<br>
for example: U+02D7  (modifier letter minus sign).<br>
At the same time IMO it is needed to allow the minus character<br>
for the minus operator, namely U+2212 Minus sign. This will<br>
allow proper typography of source code.<br>
Main benefit of such approach: no breakage of current code base,<br>
since new chars are additional to existing ones.<br>
<br>
Solution 2: (radical)<br>
Disallow hyphen as minus operator, and use only U+2212 Minus sign.<br>
I.e. "a-b" would be a variable and "a − b" a minus operation.<br>
Advantage: opportunity to correct the improper character usage once and for all.<br>
Disadvantage: breakage of current code base + force UTF-8 storage use (consider<br>
e.g. editors without unicode support).<br>
Thus most probably such solution will cause howl reaching to the sky among<br>
users, despite many modern editors allow unicode and custom operator styling,<br>
for example to distinguish dash from hyphen in a monospaced editor.<br>
<br>
So is my proposal, and as usual urging for constructive conversation.<br>
(i.e. proposing to write own language/translator is not constructive<br>
conversation)<br>
<br>
<br>
Cheers,<br>
Mikhail<br>
______________________________<wbr>_________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Antoine Rozo</div></div>
</div>