1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 00:12:29 +03:00
Commit Graph

111 Commits

Author SHA1 Message Date
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