At the (online) language summit yesterday, our erstwhile BDFL responded to a suggestion to use '?' in annotations. He said that many ideas arose over time to us the question mark for various things, but he felt none so far were compelling enough to exclude some future better use.

I actually find the LOOK of ':var' attractive enough and could easily imagine wanting to use it. E.g. maybe someday we'll get a nice deferred evaluation system; I think that could look very nice as a way to indicate such a deferred term.

This purpose of just not typing a name twice in a dict display isn't very important to me. And I just showed a silly hack to do basically the same thing with a function that constructs a dictionary. If we add new syntax, it should do something important rather than just be syntax sugar... Yes, f-strings are arguably a counter argument.

On Fri, Apr 17, 2020, 5:59 PM Andrew Barnert <> wrote:
On Apr 17, 2020, at 13:12, David Mertz <> wrote:
> However, proposals for symbols in Python *do* pop
> up from time to time, so this would perhaps make such a thing harder if
> it ever becomes desired (which is unlikely, but possible).

Sure. It would also conflict with Nick Coghlan’s version of the conciser-lambdas idea, where `{ :a, :b }` would mean a set of two nullary lambdas.

And the * mode switch would conflict with the proposal to use * as a special positional argument meaning “I’m not passing anything here (just as if I’d left an optional positional off the end, but here I’m doing it in the middle) so use your default value”.

And I’m sure there have been other proposals for things :value in a dict display, keyword= in a call, * in a call, etc. could mean that I just don’t happen to remember.

But unless one of those other proposals are likely to happen, or should happen, who cares? Assuming one of the proposals in this set of threads has sufficient traction, it would be silly to say “Let’s not do this thing that people want because it would make it harder to do a thing they don’t want”.