On Sun, Apr 19, 2020 at 02:30:21PM +1200, Greg Ewing wrote: > On 19/04/20 7:17 am, Alex Hall wrote: > >there > >is something about all these examples (plausibility?) that feels > >distinctly different from your proposal. > > To me it seems like an unnecessarily complicated syntax that goes > out of its way to look deceptively like something else.
Are we still talking about `**{identifier}`? There are three tokens there: `**{`, an identifier, and `}`. Adding an optional comma makes four. If this is your idea of "complicated syntax", I cannot imagine how you cope with function definitions in their full generality: def name(arg, /, a:str='', *args, b:float=-0.0, **kw) -> str: > > f(a, b, c) > > > > x = a, b, c > > f(x) > > > >This imagined refactoring doesn't feel as plausible. A complete beginner > >might think that they can do that, but a programmer who knows what > >tuples are can reason that it doesn't make sense. > > Fun fact -- I gather there was a very early version of Python > in which this refactoring *did* work. But it was quickly changed > because people found it too confusing! I can confirm your fun fact is true in Python 0.9.1, at least the first part. I don't know if it was changed because people were confused, or if they just didn't like it, or because it made it troublesome to pass a tuple as argument. > I think what's happening here is that long experience with > other languages has ingrained in us the idea that commas > separate arguments to a function without creating tuples, > so when we see a comma-separated list in the context of a > function call we instinctively think "argument list" and > not "tuple". > > But there is no such precedent for the OP's proposal. You just spent an entire paragraph describing such a precedent. -- Steven _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/MFTR4XJQSXRSOOKAJBRQXXAFOMWZOUZ3/ Code of Conduct: http://python.org/psf/codeofconduct/