python-plumb: 79576a4f884f4ffd05ee7eee33909956a61fefdd

     1: call = lambda f, *args, **kwargs: f(*args, **kwargs)
     2: 
     3: def dict_join(x, y):
     4:     z = dict(x)
     5:     z.update(y)
     6:     return z
     7: 
     8: def _curry(args, kwargs, n, f):
     9:   if len(args) >= n:
    10:     return reduce(call, args[n:], f(*args[:n], **kwargs))
    11:   else:
    12:     return lambda *more_args, **more_kwargs: (
    13:         _curry(args + more_args, dict_join(kwargs, more_kwargs), n, f))
    14: 
    15: curry = lambda f, *args, **kwargs: _curry(
    16:     args,
    17:     kwargs,
    18:     # TODO: If f isn't a function, we assume its argcount is 1
    19:     f.func_code.co_argcount if 'func_code' in dir(f) else 1,
    20:     f)

Generated by git2html.