
debug(=value, =another)
What if it's not a simple name, though? The OP gave this (somewhat simplistic, but indicative) example:
print(f'next: {value+1!d}')
debug(next=value+1) Still shorter than the proposed syntax and much more readable. If you do this a lot you’d probably call the function just “d” too.
AIUI, keyword arguments are all supposed to be legal names/atoms, so you aren't supposed to do something like this:
debug(**{"value+1":value+1})
Really? That seems pretty weird to me. I’ve used that type of thing in production code from time to time.
even though it does work in current versions of CPython. So even if your "=value" syntax did permit it, I wouldn't want to guarantee that in the language.
Well I haven’t suggested my syntax would support that. But yea, I realize I was pretty vague in my last email!
(Side point: Please watch your mailer. The debug() function above has smart quotes in it, which means it can't be copied and pasted into the interpreter. Not a big problem with trivially-simple functions, but if it's something larger, it's annoying to have to track down "SyntaxError: invalid character in identifier" to figure out why it's not doing what you think it is.)
Huh. I’ll look into it. Thanks for the heads up. / Anders