<div dir="ltr">I have some php experiment. Using dot for string concatenation cause readability hazard.<div><br></div><div style>func("foo", "bar". "bazz", "spam". "egg")</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 16, 2013 at 10:40 PM, MRAB <span dir="ltr"><<a href="mailto:python@mrabarnett.plus.com" target="_blank">python@mrabarnett.plus.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 16/05/2013 08:08, Serhiy Storchaka wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
10.05.13 21:48, Guido van Rossum написав(ла):<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I just spent a few minutes staring at a bug caused by a missing comma<br>
-- I got a mysterious argument count error because instead of foo('a',<br>
'b') I had written foo('a' 'b').<br>
<br>
This is a fairly common mistake, and IIRC at Google we even had a lint<br>
rule against this (there was also a Python dialect used for some<br>
specific purpose where this was explicitly forbidden).<br>
<br>
Now, with modern compiler technology, we can (and in fact do) evaluate<br>
compile-time string literal concatenation with the '+' operator, so<br>
there's really no reason to support 'a' 'b' any more. (The reason was<br>
always rather flimsy; I copied it from C but the reason why it's<br>
needed there doesn't really apply to Python, as it is mostly useful<br>
inside macros.)<br>
</blockquote>
<br>
As was said before the '+' operator has less priority than the '%'<br>
operator and an attribute access, i.e. it requires parenthesis in some<br>
cases. However parenthesis introduce a noise and can cause other types<br>
of errors.<br>
<br>
</blockquote></div>
[snip]<br>
I wonder whether we could use ".". Or would that be too confusing?<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In all cases only multiline implicit string literal concatenation cause<br>
problem. What if forbid implicit string literal concatenation only<br>
between string literals on different physical lines? A deliberate string<br>
literal concatenation can be made with explicit line joining.<br>
<br>
          raise ValueError('Type names and field names must be valid '\<br>
                           'identifiers: %r' % name)<br>
<br>
</blockquote></div>
          raise ValueError('Type names and field names must be valid ' .<div class="im"><br>
                           'identifiers: %r' % name)<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
          raise ValueError('{} not bottom-level directory in '\<br>
                           '{!r}'.format(_PYCACHE, path))<br>
<br>
</blockquote></div>
          raise ValueError('{} not bottom-level directory in ' .<br>
                           '{!r}'.format(_PYCACHE, path))<div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank">Python-ideas@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-ideas" target="_blank">http://mail.python.org/<u></u>mailman/listinfo/python-ideas</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>INADA Naoki  <<a href="mailto:songofacandy@gmail.com">songofacandy@gmail.com</a>>
</div>