hydroflow
hydroflow copied to clipboard
Deprecate/refactor old stateful/replaying operators
- [ ] replace
join
withstate_join
which can use keyed datastructures fromstate()
op #969, bypass #564 - [ ] remove
persist()
(or replace withstate()
), replace[lattice_]reduce/fold
withstate()
versions #925 - [ ] mutable state with
state_mut()
operator, with extra delete input #785 - [ ] Deprecate message for others
Replay on joins/bimorphisms is now working correctly by insisting on persisting the inputs (which is required semantically for bimorphism).
Remaining work plan is around references:
- Introduce an n-way cross operator to gather refs. Give it a meaningful name (not cross-join; maybe "tuple" or "gatherRefs" or something)
- Make sure/rewrite code so that output of the n-way cross is reflected in argument of its consumer.
- Check that replay of refs through the cross operator works as expected.
We could do this now, but it would be better to gather more experience, and perhaps wait for more helpers in Hydroflow+ before we remove the more ergonomic existing "convenience" operators.
Low priority of 0.9 release - hoping to drive from hydroflow+ use cases, and filter downward what works/is needed
And look at Shadaj's Flo paper