I beg to differ. I do find "def foo(a, *, b)" gets in the way of readability.
-- Rhodri James *-* Kynesim Ltd
In what way?
In any case, focusing on the calling syntax being proposed, is there anything unreadable about:
foo(a, *, b)
compared to
foo(a, b=b)
? I think in the proposed syntax it's quite easy to understand that we're passing arguments 'a' and 'b' even if we have no idea what the '*' means, and it's small enough that it's fairly easy to mentally filter out.