# Aaron

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?