Computer Science · Information Systems
A Difference Calculus for Structured Data
Jia Lin, Fiona Lawless, C. Horn
See on the mapAbstract
Traditional software configuration management tools employ existing Diff tools to identify the difference between intermediate versions of a document such as a source code file. When any new data structure arises, developers have to create a version control tool for this specific structure. This paper introduces a universal approach to the creation of a version control tool for artifacts of any structured data. The approach taken is to develop a difference calculus for arbitrary objects based on their types. This calculus is built on a type system in which types are nested. By constructing types recursively, more structured data can be modelled and the difference between successive versions of objects can be identified.