[Python-3000] PEP 30XZ: Simplified Parsing (original) (raw)
Giovanni Bajo rasky at develer.com
Mon Apr 30 14:32:22 CEST 2007
- Previous message: [Python-3000] PEP 30XZ: Simplified Parsing
- Next message: [Python-3000] PEP 30XZ: Simplified Parsing
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
(-CC python-dev)
On 30/04/2007 5.29, Jim Jewett wrote:
Rationale for Removing Explicit Line Continuation
A terminal "" indicates that the logical line is continued on the following physical line (after whitespace). Note that a non-terminal "" does not have this meaning, even if the only additional characters are invisible whitespace. (Python depends heavily on visible whitespace at the beginning of a line; it does not otherwise depend on invisible terminal whitespace.) Adding whitespace after a "" will typically cause a syntax error rather than a silent bug, but it still isn't desirable. The reason to keep "" is that occasionally code looks better with a "" than with a () pair. assert True, ( "This Paren is goofy") But realistically, that paren is no worse than a "". The only advantage of "" is that it is slightly more familiar to users of C-based languages. These same languages all also support line continuation with (), so reading code will not be a problem, and there will be one less rule to learn for people entirely new to programming.
I was in favor of one of the alternatives that were proposed here: line continuation through indentation:
a = 123 *
(12 + 4) / 8
assert True,
"No goofy paren" +
", dude"
... and don't tell me that you need a character there because using just indentation is hard to read :)
Even if you don't want to champion this solution in your PEP, you should at least list it among the alternatives.
Giovanni Bajo Develer S.r.l. http://www.develer.com
- Previous message: [Python-3000] PEP 30XZ: Simplified Parsing
- Next message: [Python-3000] PEP 30XZ: Simplified Parsing
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]