On 5/19/06, Collin Winter <[EMAIL PROTECTED]> wrote: > I'll concede that callbacks aren't often invoked in the foo(4, 5, c=7) > style (so requiring certain parameter names is off the table), but > I'll in turn push back on varargs and varkw parameters. > > I see these as being genuinely useful in higher-order functions, > especially functions that take a variable-length constructor (like > list, dict, etc).
I'm unconvinced. Can you provide an example of where this would be useful? I'm not looking for an example showing how it works; I want to see an example showing why we need this functionality. > Since we're no longer using Function()'s keyword > arguments to make assertions about parameter names, we can eliminate > the ugliness of star() and double_star() by having *varargs and > **varkw parameters grab their types from keyword arguments. That is, > > def foo(a: Sequence, b: Number, *varargs: Number, **varkw: Number) > > would be approved by > > Function(Sequence, Number, varargs=Number, varkw=Number) Maybe. But then I think we also should use this style to add returns=Number instead of Function().returns(Number). > The excess argument parameters would be the only ones addressable with > keyword arguments (vargs and kwargs or varargs and varkw, makes no > difference to me). These arguments would have to be passed as > keywords, thus making explicit your intention to use excess positional > and/or keyword arguments. Show me the motivating example. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
