English-like Python

MRAB google at mrabarnett.plus.com
Tue Jan 20 22:49:57 CET 2009


Joe Strout wrote:
> Aaron Brady wrote:
> 
>> Unambiguity and readability are two different things.  (This should be
>> a quasi-tangent, neither agreed, nor opposed, nor unrelated to what
>> you said.)
>>
>> If you have
>>
>> f "abc" 123
>>
>> it's unambiguous, but, if you have
>>
>> g f "abc" 123 "def"
>>
>> there's no sure way to determine where the call to 'f' stopped, and
>> the one to 'g' resumed (or, as in Python, if 'f' was even to be called
>> at all, as opposed to 4 parameters to 'g').
> 
> Right -- that's exactly why (in RB) parentheses are required around 
> arguments to a method call if that method returns a value (in RB terms, 
> if it is a function rather than a subroutine).  Then there is no 
> ambiguity, because only such a function can be used as an argument to 
> another method call (or otherwise be part of an expression).  The above 
> would have to be written something like:
> 
>  g f("abc", 123), "def"
> 
> I'm not saying I know how to translate this into Python -- some of 
> Python's other language features make this difficult.  Just pointing out 
> that your original wish is possible in at least some languages.
> 
Next you'll be saying that print(x) in Python 3.x should become print x 
in python 4.x! :-)



More information about the Python-list mailing list