Rob Rix
|
4dded01e73
|
Preserve callstacks through exhaustiveness checks.
|
2017-08-03 21:11:29 -04:00 |
|
Rob Rix
|
ffb01ff388
|
Freeze the callstacks in <|>.
|
2017-08-03 21:10:08 -04:00 |
|
Rob Rix
|
abaad4fc76
|
Assignment is non-strict.
|
2017-08-03 21:05:11 -04:00 |
|
Rob Rix
|
cbff2fee2d
|
Take the first zero-error term, if any, before forcing the rest.
|
2017-08-03 21:04:38 -04:00 |
|
Rob Rix
|
42a22aad72
|
Amb is non-strict.
|
2017-08-03 21:03:42 -04:00 |
|
Rob Rix
|
0617502efe
|
Order repetitions greedily.
|
2017-08-03 20:52:27 -04:00 |
|
Rob Rix
|
d5749545ce
|
Children, projection, & source rules are unambiguous.
|
2017-08-03 20:51:46 -04:00 |
|
Rob Rix
|
e9c61048ec
|
Committed choices are really committed.
|
2017-08-03 20:30:55 -04:00 |
|
Rob Rix
|
cb58739e48
|
Select terms by the minimum error counter.
|
2017-08-03 20:26:51 -04:00 |
|
Rob Rix
|
788f435b1e
|
Define a disambiguation convenience.
|
2017-08-03 20:23:29 -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
|
d1e3518732
|
Avoid recomputating the bodies of catch rules.
|
2017-08-03 20:17:59 -04:00 |
|
Rob Rix
|
92f2745bc3
|
Alternate entire children rules, not just successful ones.
|
2017-08-03 20:13:06 -04:00 |
|
Rob Rix
|
24b93e0ad6
|
Allow ambiguous parses with and without the error handler.
|
2017-08-03 20:00:45 -04:00 |
|
Rob Rix
|
232bf01302
|
Allow ambiguous matches past source, children, & projection rules.
|
2017-08-03 19:57:42 -04:00 |
|
Rob Rix
|
c4f1296a3b
|
Simplify committed choices with backtracking.
|
2017-08-03 19:54:51 -04:00 |
|
Rob Rix
|
dc282cdcb8
|
Return all matches from repetitions.
|
2017-08-03 19:51:41 -04:00 |
|
Rob Rix
|
8c4fdbc390
|
Halt non-advancing recursion.
|
2017-08-03 19:50:26 -04:00 |
|
Rob Rix
|
766e75c3b6
|
Correct the tests.
|
2017-08-03 19:48:24 -04:00 |
|
Rob Rix
|
ea29092469
|
Define a Bifunctor instance for Amb.
|
2017-08-03 19:40:07 -04:00 |
|
Rob Rix
|
143e6ec26d
|
Select the result with the fewest errors.
|
2017-08-03 19:36:51 -04:00 |
|
Rob Rix
|
f79e118d2e
|
Committed choices with alternatives attempt the alternative.
|
2017-08-03 19:31:16 -04:00 |
|
Rob Rix
|
51185311af
|
Flatten Alt rules into a non-empty list.
|
2017-08-03 19:25:54 -04:00 |
|
Rob Rix
|
c0bdb15d61
|
Assignment ambiguously.
|
2017-08-03 19:17:17 -04:00 |
|
Rob Rix
|
9572b96fa4
|
Define a MonadError instance for Amb.
|
2017-08-03 17:04:47 -04:00 |
|
Rob Rix
|
5ca85ec4ed
|
Define a Monad instance for Amb.
|
2017-08-03 17:02:47 -04:00 |
|
Rob Rix
|
aeb4a65c61
|
Define an Applicative instance for Amb.
|
2017-08-03 17:02:28 -04:00 |
|
Rob Rix
|
7dd880dd18
|
Define a Semigroup instance over Amb.
|
2017-08-03 17:02:15 -04:00 |
|
Rob Rix
|
fb9f27a00e
|
Define an Amb datatype.
|
2017-08-03 17:02:05 -04:00 |
|
Rob Rix
|
69892a8dc9
|
Stub in a module for ambiguous data.
|
2017-08-03 16:58:23 -04:00 |
|
Rob Rix
|
10f39e2fdf
|
requireExhaustive returns a NonEmpty list of results.
|
2017-08-03 15:57:48 -04:00 |
|
Rob Rix
|
6c9d23d827
|
Assignment produces a NonEmpty list of results.
|
2017-08-03 15:54:43 -04:00 |
|
Rob Rix
|
ea87ae33ba
|
Revert "Bump freer-cofreer for iterLookahead."
This reverts commit 67b2e75d0bab203de20baae2d33dcb68d8caa9b3.
|
2017-08-03 15:38:19 -04:00 |
|
Rob Rix
|
dd8e283632
|
Revert "Run assignments using iterLookahead."
This reverts commit 2a280ffb7dea2707e13bc518d93af9d6e0648bd0.
|
2017-08-03 15:38:17 -04:00 |
|
Rob Rix
|
d3895a504e
|
Revert "Define a function computing the first sets for assignments."
This reverts commit 55e4c4f33ed52bf49f018dfd7251117e86c3e774.
|
2017-08-03 15:38:16 -04:00 |
|
Rob Rix
|
c656ddede7
|
Revert "Compute the first sets of alternations."
This reverts commit 43644d1d591ed23c434fac120df27c985148523f.
|
2017-08-03 15:38:15 -04:00 |
|
Rob Rix
|
02f847674c
|
Revert "Compute the first sets of repetitions."
This reverts commit d2f133799ae567cb345d7c33cd1f4d08956382c4.
|
2017-08-03 15:38:14 -04:00 |
|
Rob Rix
|
45754489e2
|
Revert "Compute the first sets of catchError rules."
This reverts commit c5ec4e97f81acf299381c56556c92f629a57dac4.
|
2017-08-03 15:38:12 -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
|
f43c2a889c
|
Revert "Add the next set of productions to the state."
This reverts commit 450d9d6c2ef9570388162cb5814e7c1fa5cbf51f.
|
2017-08-03 15:38:06 -04:00 |
|
Rob Rix
|
1d67f1a3a3
|
Revert "Set the next set of productions in repetitions."
This reverts commit 30812ca0d171fcd01f821bf317d4ae01511a120b.
|
2017-08-03 15:38:03 -04:00 |
|
Rob Rix
|
48139bf998
|
Revert "Set the next set of productions in alternations."
This reverts commit 8925971c100f5523b9c95f862e6e8ac7e22d47b7.
|
2017-08-03 15:38:01 -04:00 |
|
Rob Rix
|
20271f918f
|
Revert "Represent the next set of productions with an IntSet."
This reverts commit 90ab7924b2514e5f7116b38cdf67614a9c9ca96b.
|
2017-08-03 15:38:00 -04:00 |
|
Rob Rix
|
a5c918adf7
|
Revert "📝 stateNextSet."
This reverts commit eac40e6b7c38bac50b2fb1e06535f7060bb4f707.
|
2017-08-03 15:37:58 -04:00 |
|
Rob Rix
|
0629b136d6
|
Revert "Define a setter for the next set field."
This reverts commit 1fe1dbc4669fb2460a58925ac00c226172a614f2.
|
2017-08-03 15:37:56 -04:00 |
|
Rob Rix
|
291e6719db
|
Revert "Swap the order of the setter’s params."
This reverts commit 6d7534d01c260a6427c5ea405eb7086ebd263c7c.
|
2017-08-03 15:37:55 -04:00 |
|
Rob Rix
|
baffab585b
|
Revert "Use the setter to set & reset the next set."
This reverts commit ee844956ecaa6ab6beb597b44cdeaa1c07031866.
|
2017-08-03 15:37:53 -04:00 |
|
Rob Rix
|
084985d2a1
|
Revert "Only run error handlers when the next set of productions doesn’t contain the current node."
This reverts commit 1d5fa138f0febf1940bd9c1ebd421ccf3932c27b.
|
2017-08-03 15:37:51 -04:00 |
|
Rob Rix
|
b4a2ba099a
|
Revert "Simplify how we limit error handling."
This reverts commit 86ed796bc54b073a0c9a267be267b519ba0a47ef.
|
2017-08-03 15:37:50 -04:00 |
|
Rob Rix
|
f060e11654
|
Revert "Consider catchError rules’ own next set."
This reverts commit 04a02be4c4da5409360c98dc723104d53b004875.
|
2017-08-03 15:37:48 -04:00 |
|