English-like Python
MRAB
google at mrabarnett.plus.com
Tue Jan 20 16:49:57 EST 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