<br><blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><p>My idea was to allow</p><p>  *(argument list) = (args, kwds)</p></blockquote><div>May be tuple unpacking can be extended to support:</div><div>(a,b,c,*args,d,**kwds) = p,q,*a1,r,s,**k1</div><div>where "p,q,*a,r,s" is equivalent to itertools.chain((p,q),a,(r,s)) (something like scheme's ",@")</div><div><br></div><div>And in parallel, function argument unpacking could be extended to support</div><div>def func(a,b,c,*args,d,**kwds): pass</div><div><br></div><div>But I guess this would not fly:</div><div>1. I am not sure about how default values in function arguments would be handled</div><div>2. PEP 3113 disallows tuple unpacking as part of function arguments</div><div>3. Currently, *args is populated with a list (and not tuple) in tuple unpacking</div><div>and possibly a dozen other issues.</div><div><br></div><div>Krishnan</div>