├── .gitignore ├── .projectile ├── ChangeLog.md ├── LICENSE ├── README.md ├── examples ├── Clojure │ └── 01 │ │ ├── A.clj │ │ └── B.clj ├── Lines │ └── Ex01 │ │ ├── A.lines │ │ ├── B.lines │ │ └── O.lines ├── Lua │ ├── 01 │ │ ├── new.lua │ │ └── old.lua │ └── parser │ │ └── binsearch.lua └── While │ ├── Factorial │ ├── A.while │ └── O.while │ ├── Fibonacci │ ├── A.while │ ├── B.while │ ├── C.while │ └── O.while │ ├── MillerRabin │ ├── MillerRabin1.while │ └── MillerRabin2.while │ └── Simple │ ├── A.while │ ├── B.while │ ├── C.while │ └── O.while ├── executable ├── HDiff.hs ├── HDiff │ └── Options.hs └── Languages │ ├── Bash.hs │ ├── Clojure │ ├── Interface.hs │ ├── Parser.hs │ └── Syntax.hs │ ├── Dyck.hs │ ├── Interface.hs │ ├── Java.hs │ ├── JavaScript.hs │ ├── Lines.hs │ ├── Lua.hs │ ├── Python.hs │ └── While.hs ├── package.yaml ├── scripts ├── example-data │ └── diff-lua.1.nonest.example ├── experiments │ ├── data-sources │ │ ├── clj │ │ ├── java │ │ ├── javascript │ │ ├── lua │ │ ├── python │ │ ├── rust │ │ └── sh │ ├── diff.sh │ ├── merge.sh │ ├── parser.sh │ ├── process-arguments.sh │ └── ted-01.sh ├── isolate-conflict.sh ├── lcs.sh ├── main.sh ├── mine-conflicts.sh ├── mine-data.sh ├── mine-repositories.sh ├── plot-runtimes.sh ├── process-merge-result.sh └── run-experiment.sh ├── src ├── Data │ ├── HDiff.hs │ ├── HDiff │ │ ├── Apply.hs │ │ ├── Base.hs │ │ ├── Compose.hs │ │ ├── Diff.hs │ │ ├── Diff │ │ │ ├── Align.hs │ │ │ ├── Closure.hs │ │ │ ├── Modes.hs │ │ │ ├── Preprocess.hs │ │ │ └── Types.hs │ │ ├── Merge.hs │ │ ├── MetaVar.hs │ │ └── Show.hs │ └── WordTrie.hs └── Generics │ └── Simplistic │ ├── Digest.hs │ └── Pretty.hs ├── stack.yaml ├── stack.yaml.lock └── tests ├── Data └── HDiff │ ├── DiffSpec.hs │ ├── MergeSpec.hs │ └── PatchSpec.hs ├── Languages ├── RTree.hs └── RTree │ └── Diff.hs └── Spec.hs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/.gitignore -------------------------------------------------------------------------------- /.projectile: -------------------------------------------------------------------------------- 1 | -/dataset 2 | -/PANIC 3 | -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/ChangeLog.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/README.md -------------------------------------------------------------------------------- /examples/Clojure/01/A.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Clojure/01/A.clj -------------------------------------------------------------------------------- /examples/Clojure/01/B.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Clojure/01/B.clj -------------------------------------------------------------------------------- /examples/Lines/Ex01/A.lines: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Lines/Ex01/A.lines -------------------------------------------------------------------------------- /examples/Lines/Ex01/B.lines: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Lines/Ex01/B.lines -------------------------------------------------------------------------------- /examples/Lines/Ex01/O.lines: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Lines/Ex01/O.lines -------------------------------------------------------------------------------- /examples/Lua/01/new.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Lua/01/new.lua -------------------------------------------------------------------------------- /examples/Lua/01/old.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Lua/01/old.lua -------------------------------------------------------------------------------- /examples/Lua/parser/binsearch.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/Lua/parser/binsearch.lua -------------------------------------------------------------------------------- /examples/While/Factorial/A.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Factorial/A.while -------------------------------------------------------------------------------- /examples/While/Factorial/O.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Factorial/O.while -------------------------------------------------------------------------------- /examples/While/Fibonacci/A.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Fibonacci/A.while -------------------------------------------------------------------------------- /examples/While/Fibonacci/B.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Fibonacci/B.while -------------------------------------------------------------------------------- /examples/While/Fibonacci/C.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Fibonacci/C.while -------------------------------------------------------------------------------- /examples/While/Fibonacci/O.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Fibonacci/O.while -------------------------------------------------------------------------------- /examples/While/MillerRabin/MillerRabin1.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/MillerRabin/MillerRabin1.while -------------------------------------------------------------------------------- /examples/While/MillerRabin/MillerRabin2.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/MillerRabin/MillerRabin2.while -------------------------------------------------------------------------------- /examples/While/Simple/A.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Simple/A.while -------------------------------------------------------------------------------- /examples/While/Simple/B.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Simple/B.while -------------------------------------------------------------------------------- /examples/While/Simple/C.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Simple/C.while -------------------------------------------------------------------------------- /examples/While/Simple/O.while: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/examples/While/Simple/O.while -------------------------------------------------------------------------------- /executable/HDiff.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/HDiff.hs -------------------------------------------------------------------------------- /executable/HDiff/Options.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/HDiff/Options.hs -------------------------------------------------------------------------------- /executable/Languages/Bash.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Bash.hs -------------------------------------------------------------------------------- /executable/Languages/Clojure/Interface.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Clojure/Interface.hs -------------------------------------------------------------------------------- /executable/Languages/Clojure/Parser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Clojure/Parser.hs -------------------------------------------------------------------------------- /executable/Languages/Clojure/Syntax.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Clojure/Syntax.hs -------------------------------------------------------------------------------- /executable/Languages/Dyck.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Dyck.hs -------------------------------------------------------------------------------- /executable/Languages/Interface.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Interface.hs -------------------------------------------------------------------------------- /executable/Languages/Java.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Java.hs -------------------------------------------------------------------------------- /executable/Languages/JavaScript.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/JavaScript.hs -------------------------------------------------------------------------------- /executable/Languages/Lines.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Lines.hs -------------------------------------------------------------------------------- /executable/Languages/Lua.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Lua.hs -------------------------------------------------------------------------------- /executable/Languages/Python.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/Python.hs -------------------------------------------------------------------------------- /executable/Languages/While.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/executable/Languages/While.hs -------------------------------------------------------------------------------- /package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/package.yaml -------------------------------------------------------------------------------- /scripts/example-data/diff-lua.1.nonest.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/example-data/diff-lua.1.nonest.example -------------------------------------------------------------------------------- /scripts/experiments/data-sources/clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/clj -------------------------------------------------------------------------------- /scripts/experiments/data-sources/java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/java -------------------------------------------------------------------------------- /scripts/experiments/data-sources/javascript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/javascript -------------------------------------------------------------------------------- /scripts/experiments/data-sources/lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/lua -------------------------------------------------------------------------------- /scripts/experiments/data-sources/python: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/python -------------------------------------------------------------------------------- /scripts/experiments/data-sources/rust: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/rust -------------------------------------------------------------------------------- /scripts/experiments/data-sources/sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/data-sources/sh -------------------------------------------------------------------------------- /scripts/experiments/diff.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/diff.sh -------------------------------------------------------------------------------- /scripts/experiments/merge.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/merge.sh -------------------------------------------------------------------------------- /scripts/experiments/parser.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/parser.sh -------------------------------------------------------------------------------- /scripts/experiments/process-arguments.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/process-arguments.sh -------------------------------------------------------------------------------- /scripts/experiments/ted-01.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/experiments/ted-01.sh -------------------------------------------------------------------------------- /scripts/isolate-conflict.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/isolate-conflict.sh -------------------------------------------------------------------------------- /scripts/lcs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/lcs.sh -------------------------------------------------------------------------------- /scripts/main.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/main.sh -------------------------------------------------------------------------------- /scripts/mine-conflicts.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/mine-conflicts.sh -------------------------------------------------------------------------------- /scripts/mine-data.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/mine-data.sh -------------------------------------------------------------------------------- /scripts/mine-repositories.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/mine-repositories.sh -------------------------------------------------------------------------------- /scripts/plot-runtimes.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/plot-runtimes.sh -------------------------------------------------------------------------------- /scripts/process-merge-result.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/process-merge-result.sh -------------------------------------------------------------------------------- /scripts/run-experiment.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/scripts/run-experiment.sh -------------------------------------------------------------------------------- /src/Data/HDiff.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Apply.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Apply.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Base.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Base.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Compose.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Compose.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Diff.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Diff.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Diff/Align.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Diff/Align.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Diff/Closure.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Diff/Closure.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Diff/Modes.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Diff/Modes.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Diff/Preprocess.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Diff/Preprocess.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Diff/Types.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Diff/Types.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Merge.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Merge.hs -------------------------------------------------------------------------------- /src/Data/HDiff/MetaVar.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/MetaVar.hs -------------------------------------------------------------------------------- /src/Data/HDiff/Show.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/HDiff/Show.hs -------------------------------------------------------------------------------- /src/Data/WordTrie.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Data/WordTrie.hs -------------------------------------------------------------------------------- /src/Generics/Simplistic/Digest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Generics/Simplistic/Digest.hs -------------------------------------------------------------------------------- /src/Generics/Simplistic/Pretty.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/src/Generics/Simplistic/Pretty.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/stack.yaml -------------------------------------------------------------------------------- /stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/stack.yaml.lock -------------------------------------------------------------------------------- /tests/Data/HDiff/DiffSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/tests/Data/HDiff/DiffSpec.hs -------------------------------------------------------------------------------- /tests/Data/HDiff/MergeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/tests/Data/HDiff/MergeSpec.hs -------------------------------------------------------------------------------- /tests/Data/HDiff/PatchSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/tests/Data/HDiff/PatchSpec.hs -------------------------------------------------------------------------------- /tests/Languages/RTree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/tests/Languages/RTree.hs -------------------------------------------------------------------------------- /tests/Languages/RTree/Diff.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VictorCMiraldo/hdiff/HEAD/tests/Languages/RTree/Diff.hs -------------------------------------------------------------------------------- /tests/Spec.hs: -------------------------------------------------------------------------------- 1 | {-# OPTIONS_GHC -F -pgmF hspec-discover #-} 2 | --------------------------------------------------------------------------------