functional.py 412 B

12345678910111213141516
  1. """Functional utilities for Python 2.4 compatability."""
  2. def _compat_curry(fun, *args, **kwargs):
  3. """New function with partial application of the given arguments
  4. and keywords."""
  5. def _curried(*addargs, **addkwargs):
  6. return fun(*(args+addargs), **dict(kwargs, **addkwargs))
  7. return _curried
  8. try:
  9. from functools import partial as curry
  10. except ImportError:
  11. curry = _compat_curry