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

10695 Commits

Author SHA1 Message Date
Rob Rix
a1ceb3dca4 Don’t access out of bounds elements. 2017-03-10 13:33:47 -05:00
Rob Rix
351fef725e Early return if we’ve exhausted the inputs. 2017-03-10 13:32:15 -05:00
Rob Rix
1117208430 Bind the as/bs vectors. 2017-03-10 13:29:32 -05:00
Rob Rix
f739d4e0b2 y is independent of maxD. 2017-03-10 13:21:44 -05:00
Rob Rix
9bb0ae2f5a Bind ! locally. 2017-03-10 13:18:59 -05:00
Rob Rix
a15ae4b2e0 Bounds check x & y. 2017-03-10 13:13:47 -05:00
Rob Rix
91694c4999 Maintain call-stacks. 2017-03-10 13:12:05 -05:00
Rob Rix
a8222cf0d8 🔥 GetGraph. 2017-03-10 13:09:21 -05:00
Rob Rix
6e2f098029 Don’t pass eq around. 2017-03-10 13:07:11 -05:00
Rob Rix
f00987fe89 Add smart constructors for the reader parameters. 2017-03-10 13:04:08 -05:00
Rob Rix
cd61576be9 Add constructors to retrieve the edit graph & equality function. 2017-03-10 13:03:09 -05:00
Rob Rix
b373e4c63e Add the element type parameter to Myers. 2017-03-10 13:02:12 -05:00
Rob Rix
737ab8924d Add a convenience to run LCS in its entirety. 2017-03-10 12:52:09 -05:00
Rob Rix
607e6cd63e Return the correct subsequences at the ends. 2017-03-10 12:04:09 -05:00
Rob Rix
34b2f0271b Get the middle elements in LCS. 2017-03-10 12:02:45 -05:00
Rob Rix
6a6759949e Stub in the recursive construction of the LCS. 2017-03-10 12:01:08 -05:00
Rob Rix
0e2f57821e Add a function dividing a graph in two. 2017-03-10 11:55:46 -05:00
Rob Rix
ec33d16355 Pass the relation around separately from the graph. 2017-03-10 11:51:03 -05:00
Rob Rix
d64ecd672d Add a smart constructor for LCS. 2017-03-10 11:45:32 -05:00
Rob Rix
3885f2df11 Stub in an LCS command. 2017-03-10 11:44:35 -05:00
Rob Rix
fb7bdef523 Pass edit graphs around. 2017-03-10 11:08:16 -05:00
Rob Rix
48f27267b4 Add a type representing an edit graph. 2017-03-10 11:03:21 -05:00
Rob Rix
bf7ea52248 Add the input vectors to findDPath. 2017-03-10 11:02:08 -05:00
Rob Rix
a7e4ed8015 Extract ceilDiv. 2017-03-10 10:56:32 -05:00
Rob Rix
bcb2f374e3 Fix bogosity. 2017-03-10 10:50:54 -05:00
Rob Rix
486b284c50 Add helpers for setting the forward/backward vectors. 2017-03-10 10:50:13 -05:00
Rob Rix
02ad162cca Note bogosity. 2017-03-10 10:50:01 -05:00
Rob Rix
96d3a4dcaa Separate forward/reverse d-path finding. 2017-03-10 10:37:30 -05:00
Rob Rix
dd594dbea9 🔥 offset state. 2017-03-10 10:35:33 -05:00
Rob Rix
d582bcb435 🔥 getK. 2017-03-10 10:35:23 -05:00
Rob Rix
7f932559cf Extract for & continue to the top level. 2017-03-10 10:25:25 -05:00
Rob Rix
8ca75fb092 SES operates on Vectors. 2017-03-10 10:21:38 -05:00
Rob Rix
5a6bd8c547 Define a smart constructor for the middle snake algorithm. 2017-03-09 15:44:51 -05:00
Rob Rix
9a6cac6241 Special-case handling of SES for empty lists on either side. 2017-03-09 15:42:18 -05:00
Rob Rix
d762cb7866 Take the alternation of the for loops. 2017-03-09 15:38:13 -05:00
Rob Rix
c1ababe068 Parenthesize the lambdas. 2017-03-09 15:36:04 -05:00
Rob Rix
532b402d34 Step-by-step computation of Myers’ algorithm. 2017-03-09 15:34:14 -05:00
Rob Rix
5a7cd8d6ab 🔥 For, compute fors as folds. 2017-03-09 15:34:02 -05:00
Rob Rix
b81959ac72 Define our own State type. 2017-03-09 14:21:59 -05:00
Rob Rix
69a1199268 Middle snake uses for. 2017-03-09 14:18:17 -05:00
Rob Rix
cb3e69c845 Myers performs For steps. 2017-03-09 14:17:56 -05:00
Rob Rix
31df8f05ad Define a For effect. 2017-03-09 14:17:33 -05:00
Rob Rix
34abcdcf0c Extract maxD. 2017-03-09 14:02:16 -05:00
Rob Rix
ad217cda68 Take an Int instead of a Diagonal. 2017-03-09 14:01:52 -05:00
Rob Rix
9ab575b264 at does not return in Myers. 2017-03-09 13:53:49 -05:00
Rob Rix
a41a4aa9b0 Merge branch 'myers-algorithm-in-proof-refinement-style' of https://github.com/github/semantic-diff into myers-algorithm-in-proof-refinement-style 2017-03-09 13:48:25 -05:00
Rob Rix
ca9539c9cb 🔥 isOdd in favour of odd.
🎩 @tclem.
2017-03-09 13:48:16 -05:00
Timothy Clem
ad0b1d2b63 Merge branch 'master' into myers-algorithm-in-proof-refinement-style 2017-03-09 09:49:59 -08:00
Timothy Clem
328ee8c2d9 Merge pull request #1036 from github/bytestring-sexpression-output
Use ByteString for parse output (sexpression, json)
2017-03-09 09:49:37 -08:00
Rob Rix
6917ca8f9e Add a helper to test whether a value is within an interval. 2017-03-09 12:34:50 -05:00