Aaron

Nice function composition


License
Other
Install
pip install Aaron==1.1.0

Documentation

Aaron

Build Status

Aaron adds some syntactic sugar to Python function composition.

How?

Say you have the following functions:

def add_one(n):
    return n + 1

def double(n):
    return n * 2

def ints_less_than(n):
    return range(1,n)

def product(*ns):
    result = 1
    for n in ns:
        result *= n

    return result

You could do something like this:

def two_n_plus_one(n):
  return add_one(double(n))

def product_of_lesser_numbers(n):
  return product(*ints_less_than(n))

Or, you could use Aaron, decorate your functions with composable, and do this:

two_n_plus_one = double > add_one

product_of_lesser_numbers = ints_less_than >> product

You've probably figured out by now that > is composition, and >> is will splat the results into the next function.

Aaron? What?

Yeah, the composer. Get it?