Hamilton Institute Seminar

Wednesday, February 20, 2019 - 13:00 to 14:00
Hamilton Institute Seminar Room 317, 3rd Floor, Eolas Building, North Campus, Maynooth University

Speaker: ​Dr Pierre-Étienne Meunier, Hamilton Institute / Maynooth University Department of Computer Science

Title: "Using category theory to solve version control"

Abstract: In this talk, I'll talk about a software project of mine
called Pijul (https://pijul.org), in which we have used a classical
construction from category theory to define what it means to merge
changes done in parallel by different authors. This solves a number of
problems shared by projects such as Git, Mercurial, SVN, CVS, RCS…

In Pijul, two patches producible in parallel always *commute*, meaning
that they can be applied in any order, yielding two completely
equivalent repositories. Moreover, patches are associative: applying C
after AB is the same as applying B, then C after A (contrarily to a
popular belief, Git does not guarantee this).

Moreover, applying changes to a Pijul repository can always be done in
time O(C log H), where H is the size of the existing repository, and C
is the size of the biggest conflict between the new changes and the
current repository. This complexity is a double-exponential faster than
Darcs, the only other patch-based version control system, where the
worst case is in time O(2^H).

This talk will contain some category theory, a hint of software
engineering, a bit of algorithms, as well as the mandatory demos, in
proportions depending on the reactions of the audience.

Biography