3 ms·
My experience is with OT, so I can't speak for CRDT, but I can imagine it's similar. With OT, you send a na[1] (number add) operation, so this would work fine.
by kba 9y ago
My experience is with OT, so I can't speak for CRDT, but I can imagine it's similar.
With OT, you send a na[1] (number add) operation, so this would work fine. Indeed, if you treat the number as a string, then you have a problem.
[1]: https://github.com/ottypes/json0#summary-of-operations https://github.com/ottypes/json0#summary-of-operations
- taeric 9y agoThis doesn't compose with all operations. One users adds and another user multiplies, for example. That is to say, not all operations are associative. I bet you can run really far with this general idea. But there is no panacea.
- kba 9y agoYou're absolutely right, but I'd also never suggest a collaborative system for anything critical. As I've said earlier in this thread: If you're in a Google Docs document with a buddy and you write "A" and he writes "B" at the same time, you also don't know whether that'll show up as "AB" or "BA". In practice, this isn't an issue.
- taeric 9y agoTo underscore our point, concatenation on strings is not associative, either. To that end, the basics of math in associative, cumulative, distributive, etc., go together to create an algebra of what you can automate rather easily. I think most of us stopped thinking in terms of those laws years ago. To the point that it is probably odd to folks that stayed close to them.