Rob Rix
62196878fa
Merge branch 'master' into ghc8
...
# Conflicts:
# semantic-diff.cabal
# src/Diff.hs
# src/Term.hs
# src/Term/Arbitrary.hs
# stack.yaml
# tools/semantic-git-diff/src/SemanticDiff.hs
2016-09-14 16:12:47 -04:00
Rob Rix
2b933904c9
Add specializations of Term/TermF/Diff/DiffF/SplitDiff over Syntax/Record.
2016-09-12 13:40:22 -04:00
Rob Rix
98637ad656
Generalize Term/TermF & Diff/DiffF over the functor.
2016-09-09 14:46:50 -04:00
joshvera
2df90eada7
Account for false positive close terms
...
Improve nearestUnmapped by looking up the nearest unmapped term which is not a false positive. We look up the nearest unmapped terms closest to the query term, then sort by the constant time edit distance between the query term and the intersecting terms. Finally, we select the first term that has the lowest edit distance.
2016-08-17 16:34:58 -04:00
Rob Rix
9e9622ef10
🔥 a redundant import.
2016-07-14 14:25:49 -04:00
Rick Winfrey
177af03bd3
Merge branch 'master' into syntax-redux
2016-07-12 17:03:35 -05:00
Rob Rix
63832980ba
Non-parameter fields are only zipped if equal.
2016-07-11 15:37:48 -04:00
Rob Rix
ce500a822f
Define zipTerms using galign.
2016-07-11 15:13:16 -04:00
Rob Rix
b1b9806e61
📝 alignCofreeWith’s parameters.
2016-07-11 14:41:59 -04:00
Rob Rix
c830c818f4
📝 alignCofreeWith.
2016-07-11 14:33:51 -04:00
Rob Rix
2870cdf1dd
Add a function parameter contrasting two terms into e.g. a patch.
2016-07-11 14:33:05 -04:00
Rob Rix
b4c6d92301
Rename c to combined.
2016-07-11 14:29:57 -04:00
Rob Rix
d9c5411568
Rename contrast to compare.
2016-07-11 14:27:38 -04:00
Rob Rix
42f18e9b4f
Use the getters instead of destructuring.
2016-07-11 14:03:54 -04:00
Rob Rix
26757185d9
Use a more efficient pattern of recursion.
2016-07-11 14:03:05 -04:00
Rob Rix
40df2f9576
Add an annotation-combining function to alignCofreeWith
.
2016-07-11 14:01:45 -04:00
Rob Rix
e23fa323db
Rename some type parameters for tidiness’ sake.
2016-07-11 14:00:36 -04:00
Rob Rix
921d0d9356
Clean up the language extensions for the Term module.
2016-07-11 13:59:27 -04:00
Rob Rix
d1219d04f2
🔥 a redundant import.
2016-07-11 13:58:28 -04:00
Rob Rix
a9577a2037
🔥 the hand-rolled alignSyntax' function.
2016-07-11 13:57:53 -04:00
Rob Rix
ee260949ea
Move GAlign into its own module.
2016-07-11 13:57:11 -04:00
Rob Rix
119c2350d4
Use the Data.Align instances for generic alignment of lists and ordered maps.
2016-07-11 13:54:04 -04:00
Rob Rix
f1f542cc2c
Add an instance for Syntax.
2016-07-11 12:21:40 -04:00
Rob Rix
796aa327f0
Tidy up the GAlign instance over sums.
2016-07-11 12:20:47 -04:00
Rob Rix
d9e5a633b8
🔥 galignDefault.
2016-07-11 12:20:09 -04:00
Rob Rix
2e15957f01
Just use the default galign definition.
2016-07-11 12:19:58 -04:00
Rob Rix
03871b56be
Give a default signature and definition of galign.
2016-07-11 12:19:28 -04:00
Rob Rix
b7a1609845
Add a GAlign instance for OrderedMap.
2016-07-11 12:18:32 -04:00
Rob Rix
05a2266aca
Implement alignment over compositions of functors.
2016-07-11 12:18:00 -04:00
Rob Rix
8b7bbc5195
Try defining GAlign over pairs.
2016-07-11 12:13:17 -04:00
Rob Rix
6b7f315987
Make generic alignment explicitly partial instead.
2016-07-11 11:57:46 -04:00
Rob Rix
fa88b23fdc
Contrast sums.
2016-07-11 11:54:16 -04:00
Rob Rix
57cfaa3e36
GAlign implies Functor.
2016-07-11 11:54:11 -04:00
Rob Rix
bf98d23d8f
The contrasting function takes functors.
2016-07-11 11:54:03 -04:00
Rob Rix
c597a8cfa6
Pass a contrasting function around.
2016-07-11 11:47:16 -04:00
Rob Rix
dd4c1d9fde
Replace alignF
with a typeclass for alignment.
2016-07-11 11:39:02 -04:00
Rob Rix
5ffecda63c
Pretty sure that guard is redundant to the one in alignM
.
2016-07-08 18:00:28 -04:00
Rob Rix
6c2948e317
Try to implement alignment over functors. Try, and fail miserably.
2016-07-08 17:59:54 -04:00
joshvera
847465c1b5
Add more remaining symmetric cases to zipUnwrap
2016-07-08 15:48:12 -04:00
Rob Rix
15a0022152
The contrasting function must be polymorphic.
2016-07-08 14:04:16 -04:00
Rob Rix
f6ba2f8408
Implement a partial alignment function for Syntax.
2016-07-08 14:01:09 -04:00
Rob Rix
59bc42b731
Don’t attempt to align non-overlapping terms.
2016-07-08 14:00:07 -04:00
Rob Rix
032dcb047b
Pass both the syntaxes to the helper function directly.
2016-07-08 13:57:25 -04:00
Rob Rix
9242d2fe7c
Add an alignment function over Cofree f a.
2016-07-08 13:44:29 -04:00
joshvera
772575dffd
Add zipUnwrap cases for Comment and Commented
2016-07-08 13:27:41 -04:00
joshvera
73afe7d1e9
Add zipTerms to Pairs
2016-07-08 13:16:06 -04:00
joshvera
99b05ebdc1
Object takes a list of f now
2016-07-08 11:17:46 -04:00
joshvera
1efd68d122
Merge remote-tracking branch 'origin/master' into syntax-redux
2016-07-06 16:22:25 -04:00
Rob Rix
e914685790
Don’t warn of orphans so much.
2016-06-30 12:59:26 -04:00
joshvera
9973343364
Map dictionary literals to objects
2016-06-28 16:38:06 -04:00