Write a Blog >>
ICFP 2019
Sun 18 - Fri 23 August 2019 Berlin, Germany
Wed 21 Aug 2019 16:06 - 16:30 at Aurora Borealis - Types Chair(s): Zoe Paraskevopoulou

Effectively computing the difference between two version of a source file has become an indespensable part of software development. The de facto standard tool used by most version control systems is the UNIX diff utility, that compares two files on a line-by-line basis without any regard for the structure of the data stored in these files. This paper presents an alternative datatype generic algorithm for computing the difference between two values of any algebraic datatype. This algorithm maximizes sharing between the source and target trees, while still running in linear time. Finally, this paper demonstrates that by instantiating this algorithm to the Lua abstract syntax tree and mining the commit history of repositories found on GitHub, the resulting patches can often be merged automatically, even when existing technology has failed.

Wed 21 Aug
Times are displayed in time zone: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:20 - 16:30: Research Papers - Types at Aurora Borealis
Chair(s): Zoe ParaskevopoulouPrinceton University
icfp-2019-papers15:20 - 15:43
Bert LindenhoviusTulane University, Michael MisloveTulane, Vladimir ZamdzhievUniversity of Lorraine, CNRS, Inria, LORIA
icfp-2019-papers15:43 - 16:06
Zhao Jinxu, Bruno C. d. S. OliveiraThe University of Hong Kong, Hong Kong, Tom SchrijversKU Leuven
icfp-2019-papers16:06 - 16:30
Victor Cacciari MiraldoUtrecht University, Netherlands, Wouter SwierstraUtrecht University, Netherlands