<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>On Aug 29, 2014, at 12:12, Milind Khadilkar <<a href="mailto:zedobject@gmail.com">zedobject@gmail.com</a>> wrote:</div><div><br></div><blockquote type="cite"><div><div dir="ltr"><div><div>Hi!<br>I do appreciate that indentation in Python code shows intention, and I am all for it, but problems do arise if code is copied from one place to 
another, even from specialized Python editors.... and there is little you can do to recover intentions/indentations lost in the process.<br></div></div></div></div></blockquote><div><br></div><div>I copy and paste code between editors all the time--e.g., from emacs to the graphical editors on sites like Github or StackOverflow--and I can't remember the last time I've had this problem, except when copying someone else's code that mixed spaces and tabs (and even in that case, it more often helps me find existing invisible errors than it causes errors).</div><br><blockquote type="cite"><div><div dir="ltr"><div><div><div>Besides, spaces become difficult to count and distinguish from tabs, adding to the problem. (Why allow tabs at all?)<br></div></div></div></div></div></blockquote><div><br></div>That one I could get behind, but it's been suggested and rejected enough times to have a PEP assigned to it.<div><br><blockquote type="cite"><div><div dir="ltr"><div><div>Why can't Python be made to accept the following indentation of code (in <b>addition</b> to the current schemes)? There could be some flexibility of choosing the indentation character. (Pipe was mentioned as an alternative in another thread)<br>

<br>for i in range(10):<br>.if i>5:<br>..print 10-i<br>.else:<br>..print i<br>print "!"<br></div></div></div></div></blockquote><div><br></div>The first problem is trying to come up with a syntax that isn't ambiguous to the parser or to a human. You haven't succeeded there:<div><br><div>    .2</div><div><br></div><div>Is that the int literal `2` indented, or the float literal `.2` in the left column?</div><div><br></div><div>Even the pipe character had this problem:</div><div><br></div><div>    |2</div><div><br></div><div>That pipe could mean the or operator if the previous line ended with a continuation character. But even discounting that, the tokenizer and any human experienced with Python will read it as the or operator and then have to follow some rule saying "an or operator at the start of a line that isn't part of a valid expression counts as a space". And that means guessing that it wasn't intended as an or operator, possibly turning what should have been identified as a simple SyntaxError into something baffling.</div><div><br></div><div>I suppose you could suggest bringing back ` for this purpose, but I doubt anyone will like that.</div></div></div></body></html>