fixedpoint.jp


"A Categorical Theory of Patches"の紹介 (2013-11-20)

"A Categorical Theory of Patches"という論文は、圏論を使ってパッチのマージがどういう構造になっているかを説明しています。

ここで定義され調べられている圏は、編集されるファイルを object、source ファイルに適用されて target ファイルにするパッチを morphism として持つものです。同じファイルに対する2つのパッチによる変更をマージすることは、その圏(またはその finite cocompletion)において pushout を求めることに相当する、という話になります。コンフリクトが生じるケースが主な興味の対象です。今後こういった研究が進むと、git などの分散 VCS におけるマージに応用できるような成果が生まれそうです。

ただ、表現している圏には改善の余地がありそうです。例えば、いわゆる reversed patch がいつでもありうるように、groupoid になるべきと考えられます。


© 2006-2023 fixedpoint.jp