On 6 July 2013 23:06, Guido van Rossum <guido@python.org> wrote:
On Sat, Jul 6, 2013 at 2:35 PM, Joshua Landau <joshua.landau.ws@gmail.com> wrote:
On 6 July 2013 21:38, Jan Kaliszewski <zuo@chopin.edu.pl> wrote:
Forbidding keyword arguments before *args in function calls does not seem so bad, but still it is a serious backwards incompatibility... And why would we actually want to forbid it?
I included it because my understanding is that it was in the original patch.
I'm not sure why anyone would want to forbid it, other than it being easier to write the patch that way. Compatibility aside, I'm not sure why anyone would want to keep it either, though.
In this case, compatibility trumps everything, and we should keep it for sure.
But even if we had a choice, my experience tells me that it's a good thing to keep, because nobody can remember the rules of what goes before what.
Then should we expand to allow arbitrary mixing of keyword and positional arguments (which sounds reasonable if we want to allow keyword arguments before *args, and also treat *args like any positional argument)?