Rob Rix
3a3ed72f96
Rename Renderer to Rendering.Renderer.
2017-11-27 13:30:38 -05:00
Rob Rix
9bfd64905d
Rename Data.Syntax.Assignment to Assigning.Assignment.
2017-11-27 13:19:20 -05:00
Rob Rix
bb21a24a93
Rename RWS to Diffing.Algorithm.RWS.
2017-11-27 11:51:39 -05:00
Rob Rix
cdefcdb33d
Rename Interpreter to Diffing.Interpreter.
2017-11-27 11:45:08 -05:00
Rob Rix
cfd27ec20c
Rename Algorithm -> Diffing.Algorithm.
2017-11-27 11:42:57 -05:00
Rob Rix
3a06686361
Rename Data.Syntax.Algebra to Decorator.
2017-11-22 17:21:22 -05:00
Rob Rix
99c7b5ac6e
Merge branch 'master' into 🔥 -monolithic-syntax
2017-11-21 12:37:45 -05:00
Rob Rix
7b291087cc
Merge branch 'master' into 🔥 -monolithic-syntax
2017-11-15 10:52:30 -05:00
Timothy Clem
772762ecef
Merge remote-tracking branch 'origin/master' into generate-tags-with-context
2017-11-08 13:16:07 -08:00
Timothy Clem
1c701f9775
Merge remote-tracking branch 'origin/master' into generate-tags-with-context
2017-10-27 11:33:09 -07:00
Timothy Clem
957448518d
Pass language around for easy use later
2017-10-27 11:16:05 -07:00
Timothy Clem
6ad5700116
Refactor renderToTags to not go through JSONSummary
2017-10-27 10:18:21 -07:00
Rob Rix
d50731552c
🔥 the test of dimensionality.
2017-10-26 19:45:23 -04:00
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
Rob Rix
6563d7d195
Correct the tests’ comparability relation.
2017-05-31 15:55:01 -04:00
Rick Winfrey
13077a3f9b
Merge branch 'master' into python-assignment
2017-05-18 18:12:36 -07:00
Rob Rix
9c75981833
Construct well-formed nodes.
2017-05-17 15:36:53 -04:00
Rob Rix
516daa7e4f
Correct the spec.
2017-05-17 15:35:15 -04:00
Rick Winfrey
fe41b97464
Fix HLint warnings
2017-05-12 09:45:07 -07:00
Rob Rix
b4face5176
Clarify one of the test descriptions.
2017-05-03 11:23:31 -04:00
Rob Rix
a96596b01c
Update the tests.
2017-05-03 10:56:01 -04:00
Rob Rix
080f30c704
Test that withTokens preserves anonymous nodes.
2017-05-03 10:13:40 -04:00
Rob Rix
ad642922ec
Test that anonymous nodes are not dropped after matching.
2017-05-03 10:09:31 -04:00
Rob Rix
80c3072508
Test that anonymous nodes are dropped at the start of input.
2017-05-03 10:07:53 -04:00
Rob Rix
ab1e7ac9e0
Give a list of symbol types to consider.
2017-05-03 10:03:02 -04:00
Rob Rix
7e0f13fc63
Bind the initial state to clarify the intent of the test.
2017-05-03 09:42:57 -04:00
Rob Rix
7ae74cdacc
Use makeState to tidy up an expectation.
2017-05-03 09:42:18 -04:00
Rob Rix
72de8792c4
Construct Source with OverloadedStrings.
2017-05-03 09:40:52 -04:00
Rob Rix
1c968e3aab
Use makeState in the assignment spec.
2017-05-03 09:39:24 -04:00
Rob Rix
bfd55c49c9
Correct a test.
2017-05-03 09:39:19 -04:00
Rob Rix
9193e91bf6
Correct some tests to only depend on the values.
2017-05-01 10:05:36 -04:00
Rob Rix
ccdb54e01e
Make the tests compile.
2017-05-01 10:01:59 -04:00
Rob Rix
f991988eea
Show the source of errors.
2017-04-26 14:54:29 -04:00
Rob Rix
e89ea96739
Test the specific error message we get for cascading children failures.
2017-04-26 11:45:58 -04:00
Rob Rix
447412be86
Define committed choice as a map of alternatives.
2017-04-26 11:29:13 -04:00
Rob Rix
fe1a04dc91
Differentiate between success and errors with no messages.
2017-04-26 11:27:56 -04:00
joshvera
7395e88ab0
Remove Data.RandomWalkSimilarity
2017-04-24 15:53:11 -04:00
Rob Rix
55934f656b
Correct indentation.
2017-04-24 10:44:37 -04:00
Rob Rix
de0cdc98aa
Add SourcePos information to the tests.
2017-04-24 10:27:45 -04:00
Rob Rix
296d9bb03d
Fix the tests.
2017-04-21 16:12:56 -04:00
Rob Rix
f97ed6cc37
Rename Content to Source.
2017-04-19 16:00:44 -04:00
Rob Rix
c589e229ee
Rename rule to symbol.
2017-04-19 13:11:09 -04:00
Rob Rix
ccad5c275e
Update the tests.
2017-04-18 11:06:24 -04:00
Rob Rix
5ad80666ad
Test that children assignments match multiple nested children.
2017-04-10 11:24:30 -04:00
Rob Rix
b1b1d2bd2f
Test that assignment continues after children assignments.
2017-04-10 10:52:12 -04:00
Rob Rix
c2482a0610
Test that children assignments nest.
2017-04-10 10:35:39 -04:00
Rob Rix
c9cf3d0bb8
Tidy up the repetition test.
2017-04-10 09:01:33 -04:00
Rob Rix
72ad4e027e
Generalize the ast helper over the grammar type.
2017-04-07 21:26:02 -04:00
Rob Rix
a43ff988ae
Test that rule assignment does not advance the cursor.
2017-04-07 14:59:13 -04:00
Rob Rix
79454112c5
Test that content assignment advances the cursor.
2017-04-07 14:57:44 -04:00
Rob Rix
c2a2b0b32b
Test that content assignment produces nodes’ content.
2017-04-07 14:57:00 -04:00