Michael Hobbs wrote: > Georg Brandl wrote: >> Ron Adam wrote: >> >>> Michael Hobbs wrote: >>> >>> >>>> The same problem that is solved by not having to type parens around the >>>> 'if' conditional, a la C and its derivatives. That is, it's unnecessary >>>> typing to no good advantage, IMHO. I was coding in Ruby for several >>>> months and got very comfortable with just typing the if conditional and >>>> hitting return, without any extra syntax. When I came back to Python, I >>>> found that I felt annoyed every time I typed the colon, since it >>>> obviously isn't required. The FAQ says that the colon increases >>>> readability, but I'm skeptical. The indentation seems to provide more >>>> than enough of a visual clue as to where the if conditional ends. >>>> >>> I'm not sure why '\'s are required to do multi-line before the colon. >>> >> >> Special cases aren't special enough to break the rules. >> >> Georg >> > > Eh? So multi-line strings are special enough to create a new syntax, > like, say, triple-quoted strings? Very long expressions aren't special > enough to create a special backslash token to continue the expression on > the next line? Multiple short expressions aren't special enough to > create a special semi-colon token to combine them on a single line?
For me, the above are not special cases in the sense that "leaving off the line continuation character is allowed only in the line beginning a new suite" is. A similar special case would be, e.g., if triple quoted strings were automatically dedented, but only if there's no text between the opening quotes and the first linebreak. Etc. etc. > Programming language design is nothing more than deciding the best way > to deal with special cases. That even includes Lisp. Of course. This is why the Zen includes more than one statement. Georg -- http://mail.python.org/mailman/listinfo/python-list