composablesys / collabs

Collabs library monorepo

Home Page:https://collabs.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

canGc refactoring

mweidner037 opened this issue · comments

  • 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
  • First two todos seem already true?
  • Keeping canGC name (note now caps)