1
1
mirror of https://github.com/github/semantic.git synced 2025-01-04 21:47:07 +03:00
Commit Graph

139 Commits

Author SHA1 Message Date
Rob Rix
8c9be81e51 Define an Equivalence functor. 2017-10-03 15:37:17 -04:00
Rob Rix
d453a7f2df Define a comparability relation for terms. 2017-10-03 14:58:14 -04:00
Rob Rix
adcaed3ec0 Define a Diffable method to determine comparability. 2017-10-03 14:57:06 -04:00
Rob Rix
22f5fd46d3 Rename the genericAlgorithmFor bindings. 2017-10-03 14:44:14 -04:00
Rob Rix
ced2396fde Lift subterm equivalence into Unions. 2017-10-03 14:38:10 -04:00
Rob Rix
6536c4b06f Term equivalence falls back to recursively lifted equality. 2017-10-03 14:31:06 -04:00
Rob Rix
910c179bbe Determine equivalence by the nominated subterm first. 2017-10-03 14:19:26 -04:00
Rob Rix
aca3a2cf99 Add a Diffable method to select a subterm to compute equivalence by. 2017-10-03 14:18:55 -04:00
Rob Rix
82244515f8 Define a function computing the equivalence of terms based on subequivalence. 2017-10-03 13:27:02 -04:00
Rob Rix
2fc976dd0e Define subequivalence of Unions. 2017-10-03 13:26:02 -04:00
Rob Rix
124e2b30a6 Define a subequivalence method on Diffable. 2017-10-03 13:25:27 -04:00
Rob Rix
1e14133272 Remove the suffix when we don’t know which side it’s on. 2017-10-03 12:40:24 -04:00
Rob Rix
9c49698894 Correct the docs for algorithmForTerms. 2017-10-03 12:40:24 -04:00
Rob Rix
b75fc8cc88 Name the variables in Diffable a1/a2 &c consistently. 2017-10-03 12:40:24 -04:00
Rob Rix
b31043a3eb Rename the Diff module to Data.Diff. 2017-09-27 12:41:41 -04:00
Rob Rix
9bd0b02ac9 Rename the Term module to Data.Term. 2017-09-27 12:37:37 -04:00
Rob Rix
d853a2d7ee 📝 subalgorithmFor. 2017-09-26 13:03:49 -04:00
Rob Rix
1e7f9b8862 📝 algorithmFor. 2017-09-26 13:03:44 -04:00
Rob Rix
c7685757d1 Reformat genericAlgorithmFor’s type signature. 2017-09-25 12:24:42 -04:00
Rob Rix
3c09621891 Eta-reduce algorithmFor. 2017-09-25 09:10:44 -04:00
Rob Rix
bee5470602 Fix some more indentation. 2017-09-23 09:12:58 -04:00
Rob Rix
345d0d910f Fix some indentation. 2017-09-23 09:12:19 -04:00
Rob Rix
dd9b811aeb Linearly operates on terms once more. 2017-09-22 23:07:41 -04:00
Rob Rix
9c1ef71a78 Re-abstract Algorithm over the term and result types. 2017-09-22 22:24:50 -04:00
Rob Rix
9c5b669fbb Generalize Linear to operate on the syntax functor. 2017-09-22 22:00:00 -04:00
Rob Rix
dc32dfdcd9 Generalize subalgorithmFor over arbitrary Alternative functors. 2017-09-22 21:35:37 -04:00
Rob Rix
1aa96e3a0e 🔥 the default sig for subalgorithmFor. 2017-09-22 21:33:25 -04:00
Rob Rix
aff0542ff3 Parameterize Algorithm by the syntax and annotation types. 2017-09-22 20:18:48 -04:00
Rob Rix
363de018ba Disallow chaining of substructural diffs. 2017-09-19 16:13:23 -04:00
Rob Rix
b9f16e8225 Align the algorithms. 2017-09-19 15:59:26 -04:00
Rob Rix
cd415cea24 🔥 the Traversable constraint on subalgorithmFor. 2017-09-19 15:26:55 -04:00
Rob Rix
99eebab91e Perform substructural diffing recursively. 2017-09-19 14:21:37 -04:00
Rob Rix
6f59e2753e Add a focusing traversal to Diffable. 2017-09-19 14:02:08 -04:00
Rob Rix
8938bb371f Define the Diffable instance for Maybe in terms of diffMaybe. 2017-09-19 12:51:25 -04:00
Rob Rix
450b1bf0a2 Define a Diffable instance for Maybe. 2017-09-19 12:49:34 -04:00
Rob Rix
1d60137752 Define a single GDiffable instance for Rec1. 2017-09-19 12:46:40 -04:00
Rob Rix
708dd429e4 Define a Diffable instance for NonEmpty. 2017-09-19 12:46:24 -04:00
Rob Rix
6e29ab8234 Correct the docs for the Diffable instance for []. 2017-09-19 12:46:15 -04:00
Rob Rix
0747f9474a Correct the docs for Algorithm. 2017-09-19 10:52:47 -04:00
Rob Rix
5a0c44971e Diffable uses the Alternative instance. 2017-09-19 10:48:26 -04:00
Rob Rix
c25cb5e2e3 🔥 an extra .. 2017-09-19 10:02:26 -04:00
Rob Rix
fc99ede202 Short-circuit alternations with empty. 2017-09-19 08:23:33 -04:00
Rob Rix
b70ac76839 📝 the Empty & Alt constructors. 2017-09-19 07:21:31 -04:00
Rob Rix
d768faf60b Define an Alternative instance for Algorithm. 2017-09-19 07:20:54 -04:00
Rob Rix
c05a1be8c5 🔥 subalgorithmFor. 2017-09-18 16:06:34 -04:00
Rob Rix
a0c5fc79d2 🔥 a redundant import. 2017-09-18 10:51:40 -04:00
Rob Rix
ba96d10200 apply', not apply1'. 2017-09-18 10:51:09 -04:00
Rob Rix
228e35a00a Merge branch 'master' into substructural-diffing 2017-09-18 10:48:57 -04:00
Rob Rix
d4785068a0 Inject in Diffable. 2017-09-18 00:23:14 -04:00
Rob Rix
03f33436c3 🔥 use of the obsolete reinjection functions. 2017-09-15 11:11:56 -04:00