Rob Rix
9c1dce7ab9
🔥 the Context/Empty Listable instances.
2017-10-23 11:53:42 -04:00
Rob Rix
c0d833f361
🔥 the Context/Empty tests of the Mergeable laws.
2017-10-23 11:53:36 -04:00
Rob Rix
6a0321c401
Test the Mergeable laws against a Union.
2017-10-23 10:40:33 -04:00
Rob Rix
8245e337ce
Define a Listable instance for Union.
2017-10-23 10:36:53 -04:00
Rob Rix
395678bcb3
Test the Mergeable laws against Context & Empty.
2017-10-23 10:32:48 -04:00
Rob Rix
0184f57713
Define Listable instances for Context & Empty.
2017-10-23 10:32:32 -04:00
joshvera
2f26a09905
fix tests
2017-10-19 21:32:27 -04:00
Rick Winfrey
2dad14e33e
Add Listable instance for CyclomaticComplexity
2017-10-16 14:24:49 -07:00
Rob Rix
ed8e08ef26
Migrate a bunch of the tests away from Syntax.
2017-10-10 13:18:11 -04:00
Rob Rix
44fafdbd9a
Define a Listable instance for Unions.
2017-10-10 13:10:57 -04:00
Rob Rix
ac5e0b3e9f
🔥 the Listable instances for Category & Syntax.
2017-10-10 13:00:26 -04:00
Rob Rix
27758821e8
Use the comparableTerms relation in the RWS tests.
2017-10-03 15:10:11 -04:00
Rob Rix
b85aa53af9
Spacing.
2017-10-03 09:29:15 -04:00
Rob Rix
ac3646f925
Test that genericLiftCompare gives equivalent behaviour to compare for recursive types.
2017-10-03 09:29:06 -04:00
Rob Rix
5a024b40f7
Test that genericLiftCompare gives equivalent behaviour to compare for sum types.
2017-10-03 09:25:39 -04:00
Rob Rix
7e034fa4c1
Test that genericLiftCompare gives equivalent behaviour to compare for product types.
2017-10-03 09:23:44 -04:00
Rob Rix
6f4539cdce
Stub in a module for generically-implemented Ord1 specs.
2017-10-03 09:15:45 -04:00
joshvera
b3667104fb
Merge remote-tracking branch 'origin/master' into typescript-assignment
2017-09-28 14:24:57 -07:00
Rob Rix
26d44ae2f0
Merge the Decorators module into Data.Syntax.Algebra.
2017-09-27 12:54:01 -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
e8b7e89dca
Rename the Patch module to Data.Patch.
2017-09-27 12:29:07 -04:00
Rob Rix
01e8e1725f
Move the listable Syntax synonym into Data.Functor.Listable.
2017-09-26 09:48:59 -04:00
Rob Rix
c9e4968d93
Migrate the RWS tests to à la carte syntax.
2017-09-26 09:44:42 -04:00
Rob Rix
8e674538e3
Define Listable1 instances for Functions & Methods.
2017-09-25 19:25:14 -04:00
Rob Rix
f274a9dd7d
Define a Listable1 instance for Context.
2017-09-25 19:20:01 -04:00
Rob Rix
aae77f6e0e
Define a Listable1 instance for Comment.
2017-09-25 19:19:51 -04:00
Rob Rix
b0c79efa9b
Define a Listable1 instance for NonEmpty.
2017-09-25 19:19:37 -04:00
Rob Rix
b32a911484
Define Listable instances for Return and Empty.
2017-09-25 19:14:00 -04:00
Rob Rix
909e199e72
Define Listable instances for If and Identifier.
2017-09-25 19:12:44 -04:00
Rob Rix
468a874168
Define Listable instances for non-empty Unions.
2017-09-25 19:08:55 -04:00
Timothy Clem
7107aec6db
Add a equivalency check for terms
2017-09-19 09:36:12 -07:00
Rob Rix
7789e83875
Correct the RWS tests.
2017-09-14 11:49:57 -04:00
Rob Rix
bfc0b9d0b0
Give Diff a pair of type parameters for the annotation types.
2017-09-14 09:41:52 -04:00
Rob Rix
cf9d752d43
Parameterize Patch by before and after types.
2017-09-13 21:37:23 -04:00
Rob Rix
9de429be45
🔥 the SyntaxTerm, SyntaxTermF, & SyntaxDiff type synonyms.
2017-09-13 19:14:01 -04:00
Rob Rix
20e0943c72
🔥 the Sum inside Patch nodes.
2017-09-13 16:07:22 -04:00
Rob Rix
0ec9584a6d
Correct the tests.
2017-09-13 16:03:27 -04:00
Rob Rix
a0eda2396a
Correct the tests.
2017-09-13 11:19:06 -04:00
Rob Rix
e36034455c
Correct the tests.
2017-09-13 09:45:10 -04:00
Rob Rix
ecb19530d6
Correct most of the tests.
2017-09-12 10:49:45 -04:00
Rob Rix
a140d2f4c4
Correct the Listable1 instance for Diff.
2017-09-12 10:47:50 -04:00
Rob Rix
d0a1d31c68
Correct the Listable2 instance for DiffF.
2017-09-12 10:46:49 -04:00
Rob Rix
b3b81846b3
Define a Listable1 instance for BindingF.
2017-09-12 10:44:19 -04:00
Rob Rix
57f578618c
Define Listable1 instances for Sum & Product.
2017-09-12 10:43:31 -04:00
Rob Rix
c2f4ef3572
Merge branch 'relocate-json-fields' into directed-acyclic-diffs
2017-09-11 16:20:57 -04:00
Rob Rix
2c83e7e283
Merge branch 'master' into specialized-terms-and-diffs
2017-09-11 16:01:20 -04:00
Rob Rix
1cd6dd2899
Update the tests.
2017-09-11 15:48:58 -04:00
Rob Rix
110be2449c
Update the tests.
2017-09-09 21:44:15 +01:00
Rob Rix
41baef6c9d
Listing diffs does not produce metavariables or bindings.
2017-09-09 18:24:05 +01:00
Rob Rix
2a7a937a7e
🔥 a bunch more redundant imports.
2017-09-09 14:58:07 +01:00
Rob Rix
10b262e069
🔥 a stray import.
2017-09-09 14:54:49 +01:00
Rob Rix
24914eeb05
Move the remaining Listable instances into the tests.
2017-09-09 14:51:37 +01:00
Rob Rix
3ad5374b94
Move all the Listable stuff into the tests.
2017-09-09 14:44:57 +01:00
Rob Rix
a1bfea611f
Update all the tests.
2017-09-09 14:18:08 +01:00
Rob Rix
e2ffba2401
Rename headF to termAnnotation.
2017-09-09 11:50:29 +01:00
Rob Rix
32b2f90316
🔥 a couple of obsolete tests.
2017-09-01 11:54:45 -04:00
Rob Rix
1270bb41c4
Correct the <|>/distributivity through children rules test.
2017-09-01 11:53:40 -04:00
Rob Rix
bad1c832f0
Correct precedence.
2017-09-01 11:51:18 -04:00
Rob Rix
5366bfff3c
🔥 obsolete tests of catchError/repetitions.
2017-09-01 11:50:48 -04:00
Rob Rix
c2f30feff2
Test that exhaustiveness errors are uncaught.
2017-09-01 11:50:10 -04:00
Rob Rix
2110d7d076
Slight improvement to the unexpected end of branch test.
2017-09-01 11:49:46 -04:00
Rob Rix
a640b48ddc
Test that unexpected end of branch errors are uncaught.
2017-09-01 11:47:38 -04:00
Rob Rix
7fc97f6b9d
Rename a test.
2017-09-01 11:33:33 -04:00
Rob Rix
6afe2b5ae9
Test that handlers can error.
2017-09-01 11:32:57 -04:00
Rob Rix
eb65bd9622
Test the inverse case.
2017-09-01 11:28:59 -04:00
Rob Rix
99b4d5037a
🔥 unnecessary parens.
2017-09-01 11:28:41 -04:00
Rob Rix
70cfa6e070
Rename & correct a catchError test.
2017-09-01 11:26:46 -04:00
Rob Rix
de318561dd
Correct a test’s expectation.
2017-09-01 11:25:30 -04:00
Rob Rix
773644d040
We limit the call stacks now.
2017-08-18 10:41:14 -04:00
Rob Rix
9e2abcaa13
🔥 a redundant import.
2017-08-17 17:57:06 -04:00
Rob Rix
7b4fcec381
Fix the tests up.
2017-08-17 17:56:01 -04:00
Rob Rix
3c7f471607
Test that eof matches before anonymous nodes at the end of branches.
...
Currently failed.
2017-08-16 08:55:26 -04:00
Rob Rix
8265390933
Test that eof matches at the end of branches.
2017-08-16 08:52:29 -04:00
Rob Rix
f8ab5f2ae3
Update the imports.
2017-08-11 08:02:30 -04:00
Rob Rix
ff9e58c95f
Derive a Bounded instance.
2017-08-08 08:43:49 -04:00
Rob Rix
9530b95a37
🔥 the state in error results.
2017-08-07 12:15:02 -04:00
Rob Rix
8faf9f60be
Correct the tests.
2017-08-06 19:40:45 -04:00
Rob Rix
6c1e9afbb0
Errors hold Spans now.
2017-08-06 19:32:38 -04:00
Rob Rix
1ab9a13c6d
Ignore the state in the error callback spec.
2017-08-06 19:31:44 -04:00
Rob Rix
5129bc5418
We don’t need to qualify these.
2017-08-06 19:31:15 -04:00
Rob Rix
65a134f3c8
Derive Ord & Ix instances for the specs’ Grammar type.
2017-08-06 19:29:43 -04:00
Rob Rix
c1596f942d
Assignment errors can be strings.
2017-08-06 18:56:01 -04:00
Rob Rix
59e6fd621c
🔥 stateErrorCounter.
2017-08-06 18:52:35 -04:00
Rob Rix
07e26d03e2
Produce the current state on error.
2017-08-06 18:51:19 -04:00
Rob Rix
35f92f98c3
Fix a test now that we always try the error handler on errors.
2017-08-04 09:21:59 -04:00
Rob Rix
0a8411e534
Disambiguate assignment results.
2017-08-04 09:11:22 -04:00
Rob Rix
68d3a265ae
Fix a test with ambiguous results.
2017-08-04 08:58:28 -04:00
Rob Rix
61087b394e
Fix a test case which now succeeds.
2017-08-04 08:54:04 -04:00
Rob Rix
71642ae1bd
Fix a test case which fails at the end of input.
2017-08-04 08:52:08 -04:00
Rob Rix
9e1aad5032
Fix a test case which fails with the earlier error.
2017-08-04 08:50:56 -04:00
Rob Rix
e9e9c54fa1
Correct a spec.
2017-08-03 21:32:47 -04:00
Rob Rix
47a3f1e713
Correct the tests.
2017-08-03 21:32:11 -04:00
Rob Rix
cabab1f9ed
Check advancement using the state offset instead of the counter.
2017-08-03 21:29:22 -04:00
Rob Rix
9bfe67afd9
🔥 stateError.
2017-08-03 21:26:43 -04:00
Rob Rix
030b2967c3
Add a monotonic counter of the number of error handlers invoked.
2017-08-03 20:21:42 -04:00
Rob Rix
766e75c3b6
Correct the tests.
2017-08-03 19:48:24 -04:00
Rob Rix
fa87a249ad
Revert "Use the state nodes to indicate that we’ve advanced past nodes.."
...
This reverts commit b2485da5199703d48d11ccf6b2374712b5067ded.
2017-08-03 15:38:11 -04:00
Rob Rix
adb84e33f4
Use the state nodes to indicate that we’ve advanced past nodes..
2017-08-03 13:13:37 -04:00
Rob Rix
d041dad599
Fix some missing imports.
2017-08-03 12:06:03 -04:00
Rob Rix
2529288f87
Merge branch 'master' into requiem-for-a-protolude
2017-08-03 11:51:09 -04:00
Rob Rix
c82bf8f033
Test that error call stacks point at the failing assignments.
2017-08-02 12:21:56 -04:00
Rob Rix
19850efea1
Add callstacks to the spec rules.
2017-08-02 12:11:14 -04:00
Rob Rix
8e8d1a1794
🔥 a redundant import.
2017-07-28 14:46:56 -04:00
Rob Rix
7da8799e08
🔥 Prologue & protolude.
2017-07-28 14:37:02 -04:00
Rob Rix
aa15a97d3e
Test matching of alternations around pure.
2017-07-27 09:36:13 -04:00
Rob Rix
49449f5be2
Test that alternation distributes through committed choice & is nullable.
2017-07-26 18:42:36 -04:00
Rob Rix
a5236753e0
Test that alternation distributes through committed choice and matches single values.
2017-07-26 18:42:18 -04:00
Rob Rix
4038d4b1a3
Test that alternation distributes through committed choices and matches repeated values.
2017-07-26 18:41:24 -04:00
Rob Rix
2888a0d7f5
Test that committed choices of repetitions are nullable.
2017-07-26 18:40:19 -04:00
Rob Rix
786e6f6e60
Make sure that we match both when alternating repetitions.
2017-07-26 17:43:39 -04:00
Rob Rix
27f6d2ed25
Test that alternation distributes through children rules.
2017-07-26 12:14:12 -04:00
Rob Rix
898e119af9
Test that alternations of repetitions succeed.
2017-07-26 12:02:18 -04:00
Rob Rix
5c0d27c1a2
Test that overlapping choices match the right branch.
...
This currently fails due to the left-biased nature of how we merge committed choices.
2017-07-26 11:11:15 -04:00
Rob Rix
6e1be163b3
Test that overlapping choices match the left branch.
2017-07-26 11:09:52 -04:00
Rob Rix
d6beb353fa
🔥 unused imports.
2017-07-23 16:08:05 -04:00
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
Rob Rix
32c03be782
Rename AssignmentState to State.
2017-07-22 16:13:42 -04:00
Rob Rix
09787f5e93
Combine the Error constructors.
2017-07-22 15:43:48 -04:00
Rob Rix
a04a05cf1a
Combine ErrorCause into Error.
2017-07-22 15:31:43 -04:00
Rob Rix
83a0d9c60e
Swap the order of the source & assignment.
2017-07-22 14:06:07 -04:00
Rob Rix
455f912941
Swap the order of the projection & source.
2017-07-22 14:04:52 -04:00
Rob Rix
d464da8089
runAssignment is exhaustive.
2017-07-22 13:59:45 -04:00
Timothy Clem
9f20e57740
Spacing
2017-07-21 09:08:57 -07:00
Timothy Clem
2f9f9f5752
Merge remote-tracking branch 'origin/master' into remove-sourceState
2017-07-21 09:07:33 -07:00
Timothy Clem
b934b97f27
s/Palatte/Palette
2017-07-21 09:00:30 -07:00
Timothy Clem
2880052c15
Remove sourceState from AssignmentState
2017-07-20 10:23:21 -07:00
Timothy Clem
1183c0265a
err no longer used in these specs
2017-07-20 09:36:41 -07:00
Timothy Clem
6b1a3b0efd
Fix zero width repetitions infinite loop
...
Introduces a stateCounter to detect progress and accepts one and only one zero width match.
Refactored tests a bit to not assert internal state unless specifically necessary.
2017-07-20 09:32:24 -07:00
Timothy Clem
ee0fb33a94
Demonstrate infinite loop with many (pure x)
2017-07-20 09:32:24 -07:00
Timothy Clem
0b23bf901f
Use const
2017-07-20 09:32:24 -07:00
Timothy Clem
4cdac77633
Test out catchError
2017-07-20 09:32:24 -07:00
Timothy Clem
64d2175f58
Fix up assignment specs
2017-07-17 14:39:08 -07:00
Rob Rix
cf5794d9cc
🔥 a redundant import.
2017-07-12 15:57:14 -04:00
Rob Rix
e050a44cf4
Define a Node type for the intermediate representation of metadata.
2017-07-12 15:55:21 -04:00
Rob Rix
a1b30f7524
Fix up the tests.
2017-07-12 14:51:38 -04:00
Rob Rix
5c44267e27
Fix the specs.
2017-06-26 12:56:56 -04:00
Rob Rix
fe29a865c3
🔥 redundant hidden symbols.
2017-06-24 17:32:18 -04:00
Rob Rix
b7ea75a9bd
Define Source abstractly.
2017-06-24 11:32:04 -04:00
Rob Rix
fc09d74b73
Rename the Source module to Data.Source.
2017-06-24 09:59:41 -04:00
Rob Rix
4097d4bfc0
Rename SourceSpan to Span and SourcePos to Pos.
2017-06-24 09:30:34 -04:00
Rob Rix
eaa98912de
Bounds are closed ranges.
2017-06-15 10:06:15 -04:00
Rob Rix
93f61519b7
Update the featureVectorDecorator bounds test.
2017-06-15 09:46:51 -04:00
Rob Rix
46cfee6e28
Update the RWS spec.
2017-06-15 09:44:46 -04:00
Rob Rix
b019a2b237
Correct the spec.
2017-06-07 20:17:14 -04:00
Rob Rix
84c15e3e65
Don’t specify Node in the assignment spec.
2017-06-07 14:27:01 -04:00
Rob Rix
a66a76bb01
Construct the input AST using the node constructor.
2017-06-07 14:26:21 -04:00
Rob Rix
ddc58d3f83
Rename rec to node.
2017-06-07 14:23:37 -04:00
Rob Rix
51fcf532a8
Correct the spec.
2017-06-06 08:47:17 -04:00