収束だけでは不十分:Livelymergeが直面する並行マージの深い問題
Convergence is not enough

Livelymergeプロジェクトでは、ヒープ全体をAutomerge文書として扱うことでマージを「無料」で手に入れようとしている。しかし、リンクリストの例が示すように、収束は保証されても、プログラムの不変条件が保たれるとは限らない。並行トランザクションの書き込みを順に適用すると、リストの切断や循環が生じ得る。これは単なるデータ構造の問題ではなく、Morphicのツリー構造やキャッシュなど、複数のプロパティにまたがる不変条件に広く影響する。有望な方向性として、プログラマー定義の型に対して意図レベルでマージする「マージ対応データ型」のアイデアを探っている。
マージは意図ではなく効果を再生するものであり、プログラマーの不変条件はAutomergeが見える場所にはどこにも書き留められていない。収束だけでは不十分である。