[Python-ideas] Statements vs Expressions... why?
Cliff Wells
cliff at develix.com
Wed Sep 10 23:22:43 CEST 2008
On Wed, 2008-09-10 at 21:46 +0200, Christian Heimes wrote:
> Cliff Wells wrote:
> > Any thoughts on this? I'm sure it's been brought up before, but I
> > haven't found any definitive discussions on why this rather arbitrary
> > design decision continues to hold in the face of a general migration
> > away from imperative languages (especially when it seems it could be
> > changed without much backwards-compatibility issues).
>
> Two thoughts:
>
> Please elaborate how you like to change the syntax of Python.
No changes. Simply lifting of a particular restriction.
> I like to
> see some concrete examples how your syntax would look like. I also like
> to know how your are planing to implement features like lazy evaluation.
> The if else ternary operator statement is evaluated lazy. The same
> construct as expression wouldn't be lazy any more.
Why not?
a = (
if a > 1 then:
long_calculation()
else:
other_long_calculation()
)
Clearly only one of these blocks would be evaluated at runtime.
>
> Secondly any syntax change won't happen until we start planing Python
> 4000 ;)
Yes, that's my expectation, although hopefully PyPy will make some of
these things possible to experiment with well before then =)
Cliff
More information about the Python-ideas
mailing list