Paul Rubin wrote:
Come on, that is vacuous.  The claim was "expressions are not
statements".  But it turns out that expressions ARE statements.  The
explanation is "well, that's because they're expression statements".
And there is no obvious case of an expression that can't be used as a
statement.  So it's not inherently obvious that there needs to be any
kind of statement that can't be used as an expression.  It's just an
artifact.  Whether the artifact is a desirable one is a matter of
discussion.

No, it's entirely to do with building a readable language that uses significant whitespace to delineate scope.


Simple statements are not allowed to contain other statements, but they are allowed to contain expressions. In their most degenerate form, ALL they contain is a *single* expression (e.g. a function call). That expression itself is still not a statement, though. Think of it as the difference between value and [value].

Suites are sequences of statements.

Compound statements are statements which incorporate a suite as part of their syntax.

Python allows statements inside suites and suites inside compound statements. It also allows expressions inside statements and expressions inside expressions. The one thing it never ever does is allow a suite or a statement inside an expression, because doing so would utterly destroy the handling of significant white space.

And that's why expressions are special in Python - they demarcate the boundary of the significance of whitespace. Within an expression, whitespace is insignificant. At the level of statements and suites, whitespace is extremely significant.

So, precisely how should one go about cleanly embedding something that cares about whitespace into a context which doesn't care in the slightest?

Cheers,
Nick.

--
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
            http://boredomandlaziness.skystorm.net
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to