1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +03:00
Commit Graph

11990 Commits

Author SHA1 Message Date
Rob Rix
73a214480c Merge pull request #1067 from github/command-dsl
Command DSL
2017-04-07 12:38:14 -04:00
Rob Rix
3a87919d22 Simplify the tests. 2017-04-07 12:36:14 -04:00
Rob Rix
00b3106933 Combine output stats for all specs 2017-04-07 12:24:57 -04:00
Rob Rix
76240b1d67 Refocus the existing assignment specs. 2017-04-07 12:21:45 -04:00
Rob Rix
979a42e1d4 Move Assignment into its own module. 2017-04-07 11:57:11 -04:00
Rob Rix
efb43890f3 Stub in a module for syntax assignment. 2017-04-07 11:38:27 -04:00
Rob Rix
2d0b3ff4b1 Unique the list of paths. 2017-04-07 10:49:36 -04:00
Rob Rix
3c596fb980 Take the difference on full blob entries, not just their paths. 2017-04-07 10:47:56 -04:00
Rob Rix
1c908fff66 Merge branch 'master' into command-dsl 2017-04-07 10:08:54 -04:00
Timothy Clem
7099603df6 Only write trailing newline for json output 2017-04-07 10:07:02 -04:00
Rob Rix
09c54e19aa Merge branch 'syntax-a-la-carte' of https://github.com/github/semantic-diff into syntax-a-la-carte 2017-04-07 09:48:50 -04:00
Rob Rix
534b7779d7 Merge branch 'master' into syntax-a-la-carte 2017-04-07 09:48:45 -04:00
Rob Rix
38466c64e0 Test one-or-more repetition. 2017-04-07 09:48:21 -04:00
Rob Rix
ad0fa60a3e Placate hlint. 2017-04-07 09:45:23 -04:00
Rob Rix
73f3384de9 Rename Fail to Empty. 2017-04-07 09:44:31 -04:00
Rob Rix
d772a5c0aa Test repetitions. 2017-04-07 09:44:13 -04:00
Rob Rix
b8e4cb7471 Tidy up the nullability rules. 2017-04-07 09:44:02 -04:00
Rob Rix
9b69f3aae8 Define nullability for alternations. 2017-04-07 09:37:13 -04:00
Rob Rix
c44fb8a5c3 Generalize the fixture builder. 2017-04-07 09:16:57 -04:00
Rob Rix
2b460b223c Note the need for a nullability test. 2017-04-07 09:14:28 -04:00
Rob Rix
830c8f8c94 Use a helper to construct the expected AST values. 2017-04-07 09:14:03 -04:00
Rob Rix
8d536fa825 Programs have zero or more declarations. 2017-04-06 16:01:01 -04:00
Rob Rix
761992e1fe Test that matches are performed in sequence. 2017-04-06 14:36:19 -04:00
Rob Rix
fe55642e6b Test that multiple alternatives are matched against. 2017-04-06 14:25:21 -04:00
Rob Rix
ac8d473e8e Simplify how children assignments are applied. 2017-04-06 14:22:38 -04:00
Rob Rix
5b1d68ae80 Derive Foldable instances for syntaxes. 2017-04-06 14:19:15 -04:00
Rob Rix
b0700242ee Define Foldable instances for Unions. 2017-04-06 14:16:10 -04:00
Rob Rix
68724970d0 Rename the test. 2017-04-06 14:13:09 -04:00
Rob Rix
ecdb6a1d59 Test that we can match a comment. 2017-04-06 13:36:54 -04:00
Rob Rix
049df31589 Define Show1 instances for most of the syntax types. 2017-04-06 13:36:43 -04:00
Rob Rix
8dd1745c56 Define (incorrect) GShow1 instances for constructors and selectors. 2017-04-06 13:34:57 -04:00
Timothy Clem
7f588418a7 Add in flag for JSON index format 2017-04-06 09:39:23 -07:00
Rob Rix
c62bbc17b1 Define GShow1 lifted over compositions. 2017-04-06 11:52:08 -04:00
Rob Rix
4fe7be91c5 Define GShow1 lifted over products. 2017-04-06 11:52:00 -04:00
Rob Rix
ea3649ea79 Define GShow1 lifted over sums. 2017-04-06 11:49:51 -04:00
Rob Rix
2996bd8561 Define a bunch of obvious GShow1 instances for generic representation types. 2017-04-06 11:48:50 -04:00
Rob Rix
bcfd99afde Define a few GShow1 instances for types with Show1 instances. 2017-04-06 11:43:18 -04:00
Rob Rix
d9abc56818 Define generic implementations for Show1. 2017-04-06 11:43:01 -04:00
Rob Rix
467c808616 Define a GShow1 typeclass. 2017-04-06 11:42:47 -04:00
Rob Rix
ebb97d8a75 Stub in a module for a generic Show1. 2017-04-06 11:34:50 -04:00
Rob Rix
904b32092a Define a Show1 instance for Union. 2017-04-06 11:33:23 -04:00
Rob Rix
368a8a498d Define Generic1 & Eq1 instances for declarations. 2017-04-06 11:29:56 -04:00
Rob Rix
ae2b122b85 Define Generic1 & Eq1 instances for statements. 2017-04-06 11:27:51 -04:00
Timothy Clem
da129c2efc Remove left over import 2017-04-06 08:25:29 -07:00
Rob Rix
30ffbe6421 Define Generic1 & Eq1 instances for literals. 2017-04-06 11:21:35 -04:00
Rob Rix
3d1feb70a4 Define an Eq1 instance for empty unions.
These can never be constructed, so we just return False in case somebody decides to apply this to bottom.
2017-04-06 11:19:57 -04:00
Rob Rix
349214b5c5 Compositions of functors use the appropriate Eq1 instance. 2017-04-06 11:19:21 -04:00
Rob Rix
3f093df987 Recursive applications depend on an Eq1 instance. 2017-04-06 10:50:12 -04:00
Rob Rix
828c7da001 Define Eq1 instances for Leaf, Branch, and Identifier. 2017-04-06 10:40:49 -04:00
Rob Rix
5166900702 Define an Eq1 instance for Comment. 2017-04-06 10:39:22 -04:00