On 11/9/2021 1:52 PM, Sebastian Rittau wrote:
> Am 09.11.21 um 19:26 schrieb Terry Reedy:
>> The signature of Sebastian's function with honest parameter names is
>> foo(x_or_y, required_y=_NotGiven, /). It is the 2nd argument, not the
>> first, that is optional, as with range. If required_y is not given,
>> than x_or_y must be y, and x is given a default that is not part of
>> the signature because it is explicitly bound when called. If
>> required_y *is* given, then x_or_y can be x.
>
> Just to clarify: This proposal works differently than how range() works.
> foo(3) would be illegal as the required second parameter ("y") is
> missing.
No it is not. If there is one required positional parameter and one
supplies one positional argument, then that argument must be bound to
that parameter name.
Terry, maybe that is *your* proposal. But Sebastian's proposal works like he describes. You can argue that there is a problem with those semantics, but you cannot argue that that is not what Sebastian proposes. And please remain civil.