The Object Model in Livelymerge
4 points by arcade
4 points by arcade
In the makeCounter() example, what happens if two people invoke makeCounter() concurrently on their machines? Presumably, if we're starting from 0, each machine will increment the counter to 1, and that should propagate via automerge (without, I think, any conflict being raised, since both machines will have set the variable to one). But I don't think that this is the correct result for all programs.
My larger question isn't whether it's possible to have a shared heap synchronized between machines (and it's cool that they pulled that off!), but rather what does it mean to have a heap synchronized between machines. Especially if you can get a program with a shared heap to (given the right concurrent scenario) exhibit behaviors that you couldn't get out of a program without a shared heap.
For the first bit of your question, it may be worth checking out their previous journal which touches on those points.
However yeah! I think it would be very interesting to see what a shared, local first heap actually gets you that is notable