[Python-ideas] Statements vs Expressions... why?
santagada at gmail.com
Wed Sep 10 23:52:45 CEST 2008
On Sep 10, 2008, at 6:22 PM, Cliff Wells wrote:
> 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
>>> 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.
Two restrictions, both that statements can be used in place of
expressions and that statements now return values. But please explain
how to do it in a way that is clear. It's a plus if it is backwards
>> I like to
>> see some concrete examples how your syntax would look like. I also
>> to know how your are planing to implement features like lazy
>> 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:
> Clearly only one of these blocks would be evaluated at runtime.
And now ifs return a value
>> 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 =)
You can do that now in PyPy or any other python version... or maybe
use Logix to show us a proof of concept version: http://www.livelogix.net/logix/
Now if I remeber correctly this is already the case of logix, look at:
Why would you need lambda then? couldn't you just write x = def (x,y):
return x+y ?
More information about the Python-ideas