Structure-aware Version Control: A generic approach using Agda

Victor~Cacciari Miraldo, Wouter Swierstra

    Research output: Book/ReportReportAcademic


    Modern version control systems are largely based on the UNIX diff3 program for merging line-based edits on a given file. Unfortunately, this bias towards line-based edits does not work well for all file formats, which may lead to unnecessary conflicts. This paper describes a data type generic approach to version control that exploits a file’s structure to create more precise diff and merge algorithms.
    We prototype and prove properties of these algorithms using the dependently typed language Agda; Our ideas can be, nevertheless, be transcribed to Haskell yielding a more scalable implementation.
    Original languageEnglish
    Place of PublicationUtrecht
    PublisherUU BETA ICS Departement Informatica
    Number of pages14
    Publication statusPublished - Mar 2017

    Publication series

    NameTechnical Report Series
    PublisherUU Beta ICS Departement Informatica
    ISSN (Print)0924-3275


    • deprendent types
    • generic programming
    • edit distance
    • patches


    Dive into the research topics of 'Structure-aware Version Control: A generic approach using Agda'. Together they form a unique fingerprint.

    Cite this