3 ms·
You can do indentation with the same semantic rigor as parentheses - the problem with Python is less that it’s whitespace-significant and more that it’s procedu
by ojnabieoot 6y ago
You can do indentation with the same semantic rigor as parentheses - the problem with Python is less that it’s whitespace-significant and more that it’s procedure-based rather than expression-based. Parenthesis might mitigate this somewhat to the human eye (at the cost of some clutter and compromised immediacy), but unlike a LISP the Python interpreter doesn’t really understand what an expression is.
By contrast, I never have these kinds of semantic issues in whitespace significant languages like F# - I make mistakes that I might make less often in Scheme, but the compiler usually sets me straight since it realizes a branch isn’t returning a value, etc.
In my view parentheses versus whitespace is really a judgment call based on how your eyes read the source code. The crucial thing is having something like s-expressions.