canGc refactoring
mweidner037 opened this issue · comments
mweidner037 commented
- canGc: require eventual consistency, so we can use it to make user-visible semantic decisions (e.g. collections membership). Specifically, explicitly that the condition is that it's in its initial (internal state); this can be defined for any Crdt, even if it will never return to that state due to tombstones (which is what the current flexibility is designed for).
- canGc / LazyMap: the actual condition we require is that a Crdt is in the same state as returned by valueConstructor. I suppose this is equivalent to being in its initial state, since when returned by valueConstructor, no operations could have been performed, since it was not yet attached to the Crdt hierarchy. (Make a note of this argument somewhere.)
- Rename canGc to isTrivial or similar
mweidner037 commented
- First two todos seem already true?
- Keeping canGC name (note now caps)