On 22/04/06, Paul Svensson <[EMAIL PROTECTED]> wrote: > At the risk of hypergeneralization... If *arg means "put the rest of the > positional arguments in arg", then if we simply allow arg to be a tuple... > > def foo(*(a, b)): ... # disallow keyword args. > def foo(a, b, *(), x, y): ... # disallow positional args after b. > def foo(*(a, b), x, y): ... # a, b _must_ be positional; x, y keyword. > > That () = () is currently a syntax error might be considered a reason to > use the lone star spelling instead of *(), but I find the tuple more obvious.
This is close (ish) to the "def [positional-only arguments](mixed arguments){keyword-only arguments}" syntax I floated earlier, which Guido then promptly rejected. It looks like we won't get a way to force an argument to be given positionally, as he's also already voiced a distaste for nested bracketing in argument lists. --Sam _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com