[Python-Dev] Can Python implementations reject semantically invalid expressions? (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Fri Jul 2 06:42:31 CEST 2010
- Previous message: [Python-Dev] Can Python implementations reject semantically invalid expressions?
- Next message: [Python-Dev] Can Python implementations reject semantically invalid expressions?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
We know that many semantic errors in Python lead to runtime errors, e.g. 1 + "1". If an implementation rejected them at compile time, would it still be Python? E.g. if the keyhole optimizer raised SyntaxError (or some other exception) on seeing this:
def f(): return 1 + "1" instead of compiling something which can't fail to raise an exception, would that still be a legal Python implementation?
I'd say "no". Any syntactically correct module should start executing, and type errors are only a runtime concept.
If you were to reject code at startup more restrictively, you might end up rejecting the standard library, as it contains syntax errors in code that isn't being imported normally (test/badsyntax*).
Regards, Martin
- Previous message: [Python-Dev] Can Python implementations reject semantically invalid expressions?
- Next message: [Python-Dev] Can Python implementations reject semantically invalid expressions?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]