Rob Rix
aa8ebfcd73
Remove the leaf type parameter from SyntaxTerm.
2017-07-23 15:56:08 -04:00
Rob Rix
0ba3264f32
Remove the leaf type parameter from Syntax.
2017-07-23 15:46:29 -04:00
Timothy Clem
94dc2ac506
Implement NFData instances so we can deepseq
2017-03-13 16:46:52 -07:00
Rob Rix
7d284252c5
Migrate semantic-diff to lts-8.0.
2017-02-13 17:25:45 -05:00
Rob Rix
489631ee50
Allow Term to be partially applied.
2017-01-07 09:34:49 -05:00
joshvera
a38bc21a44
docs
2016-10-21 18:06:31 -04:00
joshvera
3b26a3eaf4
docs
2016-10-21 17:39:13 -04:00
Rob Rix
8fd5675756
Safety first.
2016-09-24 16:46:50 +09:00
Rob Rix
ed2395b952
🔥 a redundant constraint.
2016-09-14 17:09:50 -04:00
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