> Every language with blocks needs some mechanism to indicate the beginning and 
>ending of blocks and of statements within blocks. If visible fences 
>('begin/end' or '{}') and statement terminators (';') are used, then '\n' can 
>be treated as merely a space, as it is in C, for instance. 

> and it uses unescaped '\n' (with two escapement options) to terminate 
>statements. This is fundamental to Python's design and goes along with 
>significant indents.

Agreed. Currently indentation in Python starts a new block, but if you view it 
from the perspective of line breaking, it also functions as if the line is 
continued. The line of code below

if condition: do_a(); do_b()

can be  written as:

if condition: #line breaks
do_a(); # ';' is optional here 
do_b() # continue

That indentation can be also employed for line breaking is quite evident to me. 
During the open email correspondence with Stephen, it seems to be a tenable 
point. 

> There would then be three ways to escape newline, with one doing double duty. 
>And for what? Merely to avoid using either of the two methods already 
>available.

I believe the other two ways are not as good as this new way. As the proposal 
is fully backward compatible, people may choose whatever way they prefer. 


>________________________________
>From: Terry Reedy <tjre...@udel.edu>
>To: python-list@python.org
>Cc: python-id...@python.org
>Sent: Sunday, September 4, 2011 3:01 AM
>Subject: Re: [Python-ideas] allow line break at operators
>
>On 9/3/2011 3:51 AM, Yingjie Lan wrote:
>> I agree that long lines of code are not very common in many projects,
>> though it might be the case with some heavily involved in math. For some
>> reason, when the feature of free line breaking came about in computer
>> languages, it is welcomed and generally well accepted.
>
>Every language with blocks needs some mechanism to indicate the beginning and 
>ending of blocks and of statements within blocks. If visible fences 
>('begin/end' or '{}') and statement terminators (';') are used, then '\n' can 
>be treated as merely a space, as it is in C, for instance.
>
>> Python uses indentation for blocks,
>
>and it uses unescaped '\n' (with two escapement options) to terminate 
>statements. This is fundamental to Python's design and goes along with 
>significant indents.
>
>> and by the same mechanism, line breaking can be
>> accommodated without requiring parenthesis or ending backslashes.
>
>You need proof for your claim that indentation can be used for both jobs in 
>the form of a grammar that works with Python's parser. I am dubious that you 
>can do that with an indents *after* the newline.
>
>Even if you could, it would be confusing for human readers. There would then 
>be three ways to escape newline, with one doing double duty. And for what? 
>Merely to avoid using either of the two methods already available.
>
>-- Terry Jan Reedy
>
>-- http://mail.python.org/mailman/listinfo/python-list
>
>
>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to