[Python-ideas] Before and after the colon in funciton defs.
Jim Jewett
jimjjewett at gmail.com
Sun Sep 18 21:32:34 CEST 2011
On Sat, Sep 17, 2011 at 2:16 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> Specifically targeting existing uses of the default argument hack, on
> the other hand, comes with at least 3 already known use cases (i.e.
> name lookup micro-optimisation, early binding semantics and shared
> state for algorithms). People already tolerate messing with the
> function signature to obtain those behaviours, so it's reasonable to
> wonder if it is possible to provide a cleaner way to obtain the same
> effect. A simple set of definition time name bindings would likely
> suffice without greatly increasing the language complexity or the
> runtime overhead of function calls.
Since the goal is to add some context, like a wrapper, it seems
reasonable to use a specialization of @. @+ suggests adding something
to the environment, and won't be ambiguous unless numbers become
callable.
@+tuple=tuple
@+sorted=sorted
@+len=len
@+KeyError=KeyError
def decorating_function(user_function):
I would personally be fine with a restriction to @+name=<expr> but I
suppose others might prefer a tuple, like
@+(tuple, sorted, len, KeyError)=(tuple, sorted, len, KeyError)
def decorating_function(user_function):
-jJ
More information about the Python-ideas
mailing list