-
Notifications
You must be signed in to change notification settings - Fork 5
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
MultisetExpression
rework, again
#203
Comments
ExpressionGenerator
MultisetExpression
rework, again
This could turn into a more comprehensive rework of
|
Possible class hierarchy:
|
One annoyance: we want to be able to have the
|
Various TODOs:
|
…ion of `@multiset_function` #203
The first attempt at the overhaul is done, and allows for persistent caching of chained expressions, but there is an issue: the performance of
At time of writing, everything above is appended to each evaluator state, which makes for relatively expensive hashing. This is in contrast to the old version, which effectively hashed only the last category, and is wasteful since the data in the first two scopes are constant during any evaluation. To get back this performance, we could re-separate the data in these scopes.
|
Basically the idea is that expressions outside of
multiset_function
would attach to generators, and expressions inside would attach to evaluators. This is mostly driven by cache reusability.Here the "cut point" for unbinding would be at the first non-fully-bound expression node, rather than immediately at the generator.
The text was updated successfully, but these errors were encountered: