Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notes on nested Manifest and keys #2

Open
dalejung opened this issue Jan 14, 2015 · 1 comment
Open

Notes on nested Manifest and keys #2

dalejung opened this issue Jan 14, 2015 · 1 comment

Comments

@dalejung
Copy link
Owner

So in the case of

pd.rolling_sum(np.log(df + 10), 5, min_periods=1)"

We could replace the parent manifest with a fragment for

np.log(df+10)

Which would turn the parent executable ast into something like

pd.rolling_sum(_X_13DF, 5, min_periods=1)"

Where _X_13DF is the manfiest or evaled value (haven't decided) of np.log(df+10). Leaning towards making it point to manifest, but since I'm keeping around a mapping of id(val) => Manifest, I can grab the manifest.

Now the point is that the expression key of the parent Manifest should not change just because we are partially executed in the current kernel.

It's possible that we can flatten out a Manfiest and it's chiildren on initialize, that will give us the stable key. Now, should the fragment frames actually change the ast for partials? Or should the parent have a mapping of partial fragments.

Note, that in a sense, the partial fragment manifests are temporal. If we are building out a complicated expression, we might precomputed all of it, a portion, or none of it.

Need to think more on this.

@dalejung
Copy link
Owner Author

Thinking more about this. I think I prefer having the ast remain unchanged. A Manifest should instead of having a working set of partials which are Manifests that represent partial eval of the full expression.

There should be a notion of working AST and context.

Right now, a Manifest can be nested. While this is a novel feature, maybe Manifests should not be nestable but Computables can. A Computable has a notion of the computed value, while a Manifest will always need to fully execute its AST anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant