ContinuumIO/blaze — pull request #366 by mrocklin (2014-07-02 14:41:59+00:00)
Title: Refactor recursion out of compute 

Previously we wrote lots of `compute` methods like the following:

```Python
@dispatch(Projection, DataFrame)
def compute(t, df):
parent = compute(t.parent, df)
return parent[list(t.columns)]
```

The traversal down the tree was baked into each method. We extract this bit into an explicit `bottom_up` function and instead write methods like the following:

```Python
@dispatch(Projection, DataFrame)
def compute_one(t, df):
return df[list(t.columns)]
```