On Thu, Apr 16, 2020 at 09:21:05PM -0700, Andrew Barnert via Python-ideas wrote:
> But I don’t see why that rules out the “bare colon” form that I and > someone else apparently both proposed in separate sub threads of this > thread: > > { :a, "b": x, :c } > > as shorthand for: > > { "a": a, "b": x, "c": c } I did a double-take reading that, because I visually parsed it as: { :a, "b": x, :c } and couldn't work out what was going on. After saving this draft, closing the email, then reopening it, I read the proposed dict the same way. So I don't think it was just a momentary glitch. I think that, as little as I like the original proposal and am not really convinced it is necessary, I think that it is better to have the explicit token (the key/parameter name) on the left, and the implicit token (blank) on the right: key= I suspect it may be because we read left-to-right in English and Python, so having the implicit blank come first is mentally like running into a pothole at high speed :-) Perhaps those who read right-to-left languages may have fewer problems with it. Or maybe it's just me. > There’s no problem for the parser. Make a trivial change to the > grammar to add a `":" identifier` alternative to dict display items, > and nothing becomes ambiguous. Except to the human reader, which is the only ambiguity that *really* matter when you get down to it. If human readers are going to parse it differently from your intention, as I did, then this is going to hurt readability far in excess of the benefit in saving a few characters typed. -- 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/Q4HJTFEUXNCMPD3PKQ45BKBAYLQLY7UF/ Code of Conduct: http://python.org/psf/codeofconduct/