Rob Rix
|
54c6095da4
|
Define a GAlign instance for non-empty lists.
|
2017-08-14 16:38:05 -04:00 |
|
Rob Rix
|
9e2444d71d
|
Define a post-contextualizing syntax combinator.
|
2017-08-14 16:26:01 -04:00 |
|
Rob Rix
|
e31c5eddb8
|
Define contextualize in terms of makeTerm1.
|
2017-08-14 16:19:11 -04:00 |
|
Timothy Clem
|
e5e221aa69
|
Try to get TH to run on all build nodes
|
2017-08-14 13:19:01 -07:00 |
|
Timothy Clem
|
5aa28af55b
|
Bump for mac build
|
2017-08-14 13:15:44 -07:00 |
|
Rob Rix
|
f6c77b4daa
|
Simplify assignment' a little further.
|
2017-08-14 16:12:31 -04:00 |
|
Rob Rix
|
e59f148a57
|
Simplify assignment'.
|
2017-08-14 16:10:29 -04:00 |
|
Rob Rix
|
ba3ef97260
|
Simplify binaryOperator.
|
2017-08-14 16:02:46 -04:00 |
|
Rob Rix
|
f4ff0a6f64
|
Correct the error message.
|
2017-08-14 15:58:51 -04:00 |
|
Rob Rix
|
212ce544da
|
Simplify comparisonOperator.
|
2017-08-14 15:58:13 -04:00 |
|
Timothy Clem
|
93b337af4c
|
Merge remote-tracking branch 'origin/master' into ruby-assignment-fixes
|
2017-08-14 12:50:45 -07:00 |
|
Rob Rix
|
d7e3092192
|
Split out makeTerm1 & makeTerm1'.
|
2017-08-14 15:50:01 -04:00 |
|
Rob Rix
|
d657570e3e
|
Define a makeTerm-alike which constructs a Term from non-empty foldable syntax.
|
2017-08-14 15:45:30 -04:00 |
|
Rob Rix
|
d74d67b803
|
Generalize infixChoice to any Alternative.
|
2017-08-14 15:33:42 -04:00 |
|
Rob Rix
|
a9dd39e149
|
Pass constructor assignments to infixChoice directly.
|
2017-08-14 15:32:58 -04:00 |
|
Rob Rix
|
4b3668f222
|
Define an infix choice combinator.
|
2017-08-14 15:31:43 -04:00 |
|
Rob Rix
|
f0b55a4a94
|
Add callstacks to manyThrough.
|
2017-08-14 15:31:35 -04:00 |
|
Rob Rix
|
c0c479c302
|
Unparenthesize a thing.
|
2017-08-14 15:13:39 -04:00 |
|
Rob Rix
|
525c31694a
|
🔥 an obsolete comment.
|
2017-08-14 15:13:34 -04:00 |
|
Rob Rix
|
cd25018e40
|
Rearrange a few rules to reuse expressions .
|
2017-08-14 15:12:31 -04:00 |
|
Rob Rix
|
902ac23def
|
Rewrite conditionalExpression without binds.
|
2017-08-14 14:46:05 -04:00 |
|
Rob Rix
|
a1fd6c9ad9
|
Reuse the expressions assignment.
|
2017-08-14 14:44:15 -04:00 |
|
Rob Rix
|
70e83e215f
|
Use tokens to match symbols & advance.
|
2017-08-14 14:37:09 -04:00 |
|
Rob Rix
|
297675c90e
|
Add a token combinator.
|
2017-08-14 13:59:48 -04:00 |
|
Rob Rix
|
965f716be1
|
Add an advance rule to pass nodes.
|
2017-08-14 13:58:02 -04:00 |
|
Rob Rix
|
41d5ec6065
|
Relax/remove some Ix constraints.
|
2017-08-14 13:49:39 -04:00 |
|
Rob Rix
|
e97b3e6fc6
|
Unfreeze notFollowedBy.
|
2017-08-14 13:46:14 -04:00 |
|
Rob Rix
|
e32c566774
|
Contextualize expressions.
|
2017-08-14 12:35:43 -04:00 |
|
Rob Rix
|
ea161dea48
|
Contextualize concatenated string fragments.
|
2017-08-14 12:35:14 -04:00 |
|
Rob Rix
|
530179f833
|
🔥 discarding comments in conditionalExpression.
|
2017-08-14 12:34:58 -04:00 |
|
Rob Rix
|
e85e84371e
|
Use the term combinator widely.
|
2017-08-14 12:08:29 -04:00 |
|
Rob Rix
|
52472efbf3
|
Define a helper to contextualize terms.
|
2017-08-14 12:07:53 -04:00 |
|
Rob Rix
|
3c7e940b9e
|
Contextualize the first operand of boolean expressions.
|
2017-08-14 12:06:57 -04:00 |
|
Rob Rix
|
512a297142
|
🔥 a redundant location rule.
|
2017-08-14 12:05:08 -04:00 |
|
Rob Rix
|
9d5c5baab1
|
Don’t match comments with the expression rule.
|
2017-08-14 12:01:54 -04:00 |
|
Rob Rix
|
d532486dc0
|
Contextualize within boolean operators.
|
2017-08-14 12:01:41 -04:00 |
|
Rob Rix
|
48d9a9d247
|
Contextualize within pairs.
|
2017-08-14 12:01:28 -04:00 |
|
Rob Rix
|
5fc327ba32
|
Add Context to Python syntax.
|
2017-08-14 11:55:51 -04:00 |
|
Rob Rix
|
066438b63b
|
Define a combinator to contextualize nodes with e.g. comments.
|
2017-08-14 11:36:48 -04:00 |
|
Rob Rix
|
b138213347
|
Define a context datatype.
|
2017-08-14 11:36:35 -04:00 |
|
Rob Rix
|
97b9b30a1d
|
Terms are constructed to contain their children.
|
2017-08-14 11:36:26 -04:00 |
|
Rob Rix
|
3fdb043537
|
Define a manyThrough combinator.
|
2017-08-14 11:35:13 -04:00 |
|
Rob Rix
|
8c27167301
|
Define a Semigroup instance for Record.
|
2017-08-14 11:35:03 -04:00 |
|
Rob Rix
|
01e5ddb1cb
|
Map sequence_expression to CommaOperator.
|
2017-08-11 10:16:06 -04:00 |
|
Rob Rix
|
9effa7aea1
|
Flatten expression statements involving sequence expressions.
|
2017-08-11 10:15:16 -04:00 |
|
Rob Rix
|
ffa33bbe0f
|
Unwrap expression statements in for loops.
|
2017-08-11 10:11:34 -04:00 |
|
Rob Rix
|
0e2c418038
|
Ensure we treat /dev/null as empty.
|
2017-08-11 09:57:03 -04:00 |
|
Rob Rix
|
1f26be577a
|
Assign a bunch more operators.
|
2017-08-11 09:53:08 -04:00 |
|
Rob Rix
|
04ce0c89c6
|
Match BooleanOperators.
|
2017-08-11 09:46:08 -04:00 |
|
Rob Rix
|
2e0c870a82
|
Handle some operators in defaultTermAssignment.
|
2017-08-11 09:40:18 -04:00 |
|
Rob Rix
|
a8e32d6739
|
Factor pure into toTerm.
|
2017-08-11 09:29:01 -04:00 |
|
Rob Rix
|
57fe826d9f
|
Map a bunch of category names.
|
2017-08-11 09:26:14 -04:00 |
|
Rob Rix
|
96230f04b6
|
Flatten switch_body nodes out.
|
2017-08-11 09:25:19 -04:00 |
|
Rob Rix
|
b08ea229d6
|
Drop parenthesized expression nodes.
|
2017-08-11 09:20:12 -04:00 |
|
Rob Rix
|
f9600f91d2
|
Construct complete Terms in defaultTermAssignment.
|
2017-08-11 09:18:08 -04:00 |
|
Rob Rix
|
d61967e238
|
Don’t export defaultTermAssignment.
|
2017-08-11 09:14:58 -04:00 |
|
Rob Rix
|
362c3c7e4c
|
Don’t unwrap parenthesized expressions that way.
|
2017-08-11 09:11:13 -04:00 |
|
Rob Rix
|
3d6bc1f03b
|
Map subscript_expression to SubscriptAccess.
|
2017-08-11 09:05:16 -04:00 |
|
Rob Rix
|
817000ff52
|
Expand parenthesized expressions in place.
|
2017-08-11 09:04:46 -04:00 |
|
Rob Rix
|
61052b3340
|
Correct some references again.
|
2017-08-11 08:52:25 -04:00 |
|
Rob Rix
|
0c773722f9
|
Correct the TreeSitter imports &c.
|
2017-08-11 08:43:53 -04:00 |
|
Rob Rix
|
f8ab5f2ae3
|
Update the imports.
|
2017-08-11 08:02:30 -04:00 |
|
Rick Winfrey
|
08e38d87df
|
Bump grammar
|
2017-08-10 17:43:48 -07:00 |
|
Rick Winfrey
|
e877a93fec
|
Merge branch 'master' into improved-python-comprehensions
|
2017-08-10 15:40:42 -07:00 |
|
Rick Winfrey
|
ae0f8b6a13
|
Assign while statements using manyTill
|
2017-08-10 15:28:52 -07:00 |
|
Rick Winfrey
|
d31523f530
|
Match against Lambda' and Identifier' alias nodes
|
2017-08-10 14:09:08 -07:00 |
|
Rob Rix
|
453daf7bcf
|
🔥 a type sig.
|
2017-08-10 10:41:21 -04:00 |
|
Rob Rix
|
65157ac87c
|
🔥 MonoLocalBinds.
|
2017-08-10 10:40:24 -04:00 |
|
Rick Winfrey
|
e9a748dd85
|
Merge branch 'master' into improved-python-comprehensions
|
2017-08-09 17:18:24 -07:00 |
|
Rick Winfrey
|
2021c67f61
|
Simplify Declaration.Comprehension
|
2017-08-09 16:42:50 -07:00 |
|
Rick Winfrey
|
036c5a99b8
|
Remove comprehension from expression list
|
2017-08-09 16:41:44 -07:00 |
|
Rick Winfrey
|
bf207e296f
|
Remove trailing whitespace
|
2017-08-09 16:41:33 -07:00 |
|
Rick Winfrey
|
9963f57fe6
|
Update assignments
|
2017-08-09 16:41:22 -07:00 |
|
Rick Winfrey
|
f9f2e46059
|
Update assignment for single list comprehensions
|
2017-08-09 15:27:10 -07:00 |
|
Rick Winfrey
|
77d53e9127
|
🔥 newline
|
2017-08-09 15:26:16 -07:00 |
|
Rob Rix
|
cf1cee66b9
|
Merge branch 'master' into ghc-8.2.1
|
2017-08-09 09:52:39 -04:00 |
|
Rob Rix
|
947d6c8cfd
|
Merge branch 'master' into fine-grained-python-error-handling
|
2017-08-08 19:06:16 -04:00 |
|
Rob Rix
|
2413378602
|
🔥 NoStrictData.
|
2017-08-08 18:29:57 -04:00 |
|
Rob Rix
|
39197f0b76
|
Discard comments around key/value pairs in dictionaries.
|
2017-08-08 15:20:51 -04:00 |
|
Rob Rix
|
6a849f1fa6
|
Take expressions only up to WithItem.
|
2017-08-08 15:00:22 -04:00 |
|
Rob Rix
|
22861b8443
|
Apply the constructor in withItem instead of tupling.
|
2017-08-08 14:58:37 -04:00 |
|
Rob Rix
|
193f5ad339
|
flip instead of swap.
|
2017-08-08 14:56:48 -04:00 |
|
Rob Rix
|
e684907c9e
|
Refactor withStatement to avoid a bind.
|
2017-08-08 14:54:40 -04:00 |
|
Rob Rix
|
26bf05bd30
|
Delimit expressions with the else clause.
|
2017-08-08 14:19:25 -04:00 |
|
Rob Rix
|
7e7cc130d1
|
Bold the path/span.
|
2017-08-08 13:30:21 -04:00 |
|
Rob Rix
|
245a5c2d7d
|
Use a much more compact callstack format.
|
2017-08-08 13:27:57 -04:00 |
|
Rob Rix
|
5d5f027e40
|
Handle errors at the top level.
|
2017-08-08 12:14:42 -04:00 |
|
Rob Rix
|
38f5648af9
|
🔥 the redundant handleError in import'.
|
2017-08-08 12:13:49 -04:00 |
|
Rob Rix
|
5031afaf06
|
Don’t match parse errors in expressions or imports.
|
2017-08-08 12:13:22 -04:00 |
|
Rob Rix
|
47d12fb498
|
Handle errors around imports.
|
2017-08-08 12:11:07 -04:00 |
|
Rob Rix
|
c7cc645dea
|
Handle errors occurring in Python expressions.
|
2017-08-08 11:58:00 -04:00 |
|
Rob Rix
|
4364429cb3
|
🔥 overindentation.
|
2017-08-08 11:46:16 -04:00 |
|
Rob Rix
|
3f981fbdf7
|
🔥 the redundant withSGRCode definition.
|
2017-08-08 11:37:50 -04:00 |
|
Rob Rix
|
c97808a0bd
|
Disable colour if stderr is not a terminal.
|
2017-08-08 11:12:14 -04:00 |
|
Rob Rix
|
a0adfdf0cf
|
Constrain to Foldable/Functor instead of Traversable.
|
2017-08-08 10:00:31 -04:00 |
|
Rob Rix
|
a1f1fc5048
|
🔥 redundant imports.
|
2017-08-08 09:16:36 -04:00 |
|
Rob Rix
|
fc299fe0e8
|
Fail fast on assignment errors.
|
2017-08-08 09:16:16 -04:00 |
|
Rob Rix
|
9e3e9736ed
|
🔥 a redundant do.
|
2017-08-08 09:16:03 -04:00 |
|
Rob Rix
|
1e7ca7de13
|
Constrain the types rather than the Unions.
|
2017-08-08 09:11:27 -04:00 |
|
Rob Rix
|
8eea6810ee
|
Dedent the State record selector docs.
|
2017-08-07 17:53:16 -04:00 |
|
Rob Rix
|
0b00fa2c52
|
Return to using an IntMap for choices.
|
2017-08-07 17:44:51 -04:00 |
|
Rob Rix
|
e32644ea46
|
eta-reduce makeError.
|
2017-08-07 17:20:35 -04:00 |
|
Rob Rix
|
b483c66e17
|
🔥 redundant parens.
|
2017-08-07 17:20:27 -04:00 |
|
Rob Rix
|
8522dbec99
|
🔥 the unused StandaloneDeriving pragma.
|
2017-08-07 17:20:21 -04:00 |
|
Rob Rix
|
45f0eb7900
|
Only fetch the populated indices.
|
2017-08-07 12:51:31 -04:00 |
|
Josh Vera
|
e82a2e7090
|
Merge branch 'master' into ruby-assignment-fixes
|
2017-08-07 12:41:10 -04:00 |
|
Rob Rix
|
51cc0e00c9
|
Use parseError in JSON, Python, & Ruby.
|
2017-08-07 12:38:45 -04:00 |
|
Rob Rix
|
9ec1f2f029
|
Reintroduce a parseError combinator.
|
2017-08-07 12:35:09 -04:00 |
|
Rob Rix
|
252290d36c
|
Back error-handling out of the grammars.
|
2017-08-07 12:17:53 -04:00 |
|
Rob Rix
|
9530b95a37
|
🔥 the state in error results.
|
2017-08-07 12:15:02 -04:00 |
|
Rob Rix
|
d590565c49
|
Merge branch 'master' into delimited-control
|
2017-08-07 12:05:15 -04:00 |
|
Rob Rix
|
87abdf2556
|
Constrain the types in the Union rather than the Union itself.
|
2017-08-07 11:21:22 -04:00 |
|
Rob Rix
|
1e335a71b0
|
Merge branch 'master' into faster-union-instance-compilation
|
2017-08-07 11:17:10 -04:00 |
|
Yuki Izumi
|
882c35649e
|
Add table syntax elements
|
2017-08-07 13:49:21 +10:00 |
|
Rob Rix
|
1635baf667
|
Drop anonymous nodes before catches whose bodies would drop anonymous nodes.
This prevents handlers capturing tokens that would otherwise have been skipped altogether.
|
2017-08-06 18:56:04 -04:00 |
|
Rob Rix
|
de18f9c860
|
Don’t freeze composite call stacks.
|
2017-08-06 18:56:04 -04:00 |
|
Rob Rix
|
94c08a0f54
|
Simplify makeFunctionDeclaration.
|
2017-08-06 18:56:04 -04:00 |
|
Rob Rix
|
574d524581
|
Reformat functionDefinition.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
c69ed83235
|
Define functionDefinition without binds.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
215e1a7ac2
|
Simpler freezing of the call stack in choice construction.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
e45eb2e93d
|
Simpler freezing of the call stack.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
9d044c51f7
|
Freeze the call stack in unError.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
367c16a0cd
|
Use the error syntax constructor in Task.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
27c97a413c
|
Produce error syntax using the helper.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
6edb85c156
|
Generalize errorSyntax to take the list of children.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
16dc1b62a7
|
Define an errorSyntax helper constructor.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
0d08387684
|
Rephrase end of input nodes as end of branch.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
d5526db5f9
|
Colourize the actual position/symbol.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
b40e13a296
|
Colourize the expected symbols.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
08a6c987c0
|
Pass the colourize flag to showExpectation & showSymbols.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
2ca0450737
|
Use the same Colourize type synonym for withSGRCode.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
e74c98f9cc
|
Don’t colourize the whole expectation.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
d9a490381b
|
Freeze the call stacks.
|
2017-08-06 18:56:03 -04:00 |
|
Rob Rix
|
89e0ef3daf
|
Use the best call stack for uncommitted choices.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
1151fce874
|
Briefer definition of bestCallStack.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
96d473f8f4
|
Select a callstack to associate with committed choices.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
9579bc8aaa
|
Spacing.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
fbb217f8e7
|
Add call stacks to Syntax.Error.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
c516620e24
|
Add a helper to set an implicit call stack.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
66d03867e1
|
Avoid re-showing errors in Data.Syntax.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
14001ed70a
|
Avoid re-showing errors in Task.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
b8c1e1a953
|
Carry callstacks through try.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
caf9535fee
|
Define unexpected by throwing an error with the specified message.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
76edea1341
|
Labels replace expectations.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
fb6298ba6d
|
Revert "Define a function to compute the expectation for an assignment, which may involve its label."
This reverts commit 1a7e775446b72653570015b08dad0530fe4d9805.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
6036870ea9
|
Labels participate in committed choice.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
2d7c7fd1ee
|
Define a function to compute the expectation for an assignment, which may involve its label.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
bd4e2666c8
|
🔥 a redundant Ix constraint on firstSet.
|
2017-08-06 18:56:02 -04:00 |
|
Rob Rix
|
c1596f942d
|
Assignment errors can be strings.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
8e58a76a01
|
formatError takes Error String.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
60bafabf17
|
Move error formatting into Data.Error.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
d18ac5e0c6
|
Move the Error definition into Data.Error.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
add1d471c9
|
Stub in a module for Errors.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
55683ea810
|
Errors carry a full Span.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
261fb37c44
|
Syntax.Error holds the expected/actual fields.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
880d26078e
|
Rename formatErrorWithOptions to formatError.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
8a7911313a
|
Pass the position, expected, & actual fields to formatErrorWithOptions separately.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
eb1439ebbb
|
showExpectation & showSymbols take Strings.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
b66312567b
|
Define <?> using Label.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
b911f93a58
|
Define a Label assignment.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
3d9760d5d8
|
Sort the End case of Show to the top.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
a31e1ce086
|
Sort the End case to the top.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
3ab717f18f
|
Add a callstack to notFollowedBy.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
99ac5d4486
|
Define notFollowedBy.
|
2017-08-06 18:56:01 -04:00 |
|
Rob Rix
|
fcc65d3a3e
|
Allow if statements without elif/else clauses.
|
2017-08-06 18:56:00 -04:00 |
|
Rob Rix
|
3b5a19c832
|
Define eof as the End assignment.
|
2017-08-06 18:56:00 -04:00 |
|
Rob Rix
|
68257e5c3a
|
Add an assignment which only matches at the end of input.
|
2017-08-06 18:56:00 -04:00 |
|
Rob Rix
|
4e2d29491c
|
Stub in a Parsing instance for Assignment.
|
2017-08-06 18:53:51 -04:00 |
|
Rob Rix
|
8c9f6ab7fd
|
Assign elif/else blocks correctly.
|
2017-08-06 18:53:48 -04:00 |
|
Rob Rix
|
6daf3d648b
|
Move the MonadError instance up.
|
2017-08-06 18:53:44 -04:00 |
|
Rob Rix
|
5dfc165699
|
Re-export the Parsers module.
|
2017-08-06 18:53:41 -04:00 |
|
Rob Rix
|
302bef15ee
|
🔥 Data.Amb.
|
2017-08-06 18:53:29 -04:00 |
|
Rob Rix
|
1ca87c89e8
|
🔥 a redundant error handler.
|
2017-08-06 18:53:26 -04:00 |
|
Rob Rix
|
4a4d8ea9c5
|
🔥 the need for Bounded grammars for Alternative assignments.
|
2017-08-06 18:53:23 -04:00 |
|
Rob Rix
|
39e30c3d92
|
empty is Throw Nothing.
|
2017-08-06 18:53:19 -04:00 |
|
Rob Rix
|
c4c6c389aa
|
Throw Nothing is the right-identity of <|>.
|
2017-08-06 18:53:15 -04:00 |
|
Rob Rix
|
7713277876
|
Throw Nothing is the left-identity of <|>.
|
2017-08-06 18:53:09 -04:00 |
|
Rob Rix
|
8d9d54dbcc
|
Throw takes its error in a Maybe.
|
2017-08-06 18:53:05 -04:00 |
|
Rob Rix
|
dafcd40067
|
Lookahead to prevent matching the else clause.
|
2017-08-06 18:53:02 -04:00 |
|
Rob Rix
|
3b9523ba58
|
Qualify the import of Data.Functor.Foldable.
|
2017-08-06 18:52:59 -04:00 |
|
Rob Rix
|
0ec05480f8
|
🔥 a redundant import.
|
2017-08-06 18:52:56 -04:00 |
|
Rob Rix
|
59fd521709
|
Add callstacks to while & until.
|
2017-08-06 18:52:52 -04:00 |
|
Rob Rix
|
56eb9407b9
|
Simplify ifStatement.
|
2017-08-06 18:52:49 -04:00 |
|
Rob Rix
|
357ffe6616
|
Simplify the definition of until.
|
2017-08-06 18:52:46 -04:00 |
|
Rob Rix
|
2bc2483af9
|
Define an until combinator.
|
2017-08-06 18:52:42 -04:00 |
|
Rob Rix
|
8d7fb65a4a
|
Better docs for while.
|
2017-08-06 18:52:39 -04:00 |
|
Rob Rix
|
59e6fd621c
|
🔥 stateErrorCounter.
|
2017-08-06 18:52:35 -04:00 |
|
Rob Rix
|
722e5407cd
|
🔥 the grammar parameter from State.
|
2017-08-06 18:52:31 -04:00 |
|
Rob Rix
|
2adbf0cfa1
|
Assign unambiguously.
|
2017-08-06 18:52:24 -04:00 |
|
Rob Rix
|
ac1adfe5bc
|
Uncommitted choices backtrack.
|
2017-08-06 18:52:20 -04:00 |
|
Rob Rix
|
4cba3fd2fc
|
🔥 redundant bindings.
|
2017-08-06 18:52:16 -04:00 |
|
Rob Rix
|
edfb98ff7d
|
Apply both rewrapping functions.
|
2017-08-06 18:52:11 -04:00 |
|
Rob Rix
|
341f806806
|
Remove the fallback from committed choice.
|
2017-08-06 18:52:06 -04:00 |
|
Rob Rix
|
ea26a943e5
|
Simplify catch handling again.
|
2017-08-06 18:52:01 -04:00 |
|
Rob Rix
|
295c933eaa
|
Export nodeError.
|
2017-08-06 18:51:57 -04:00 |
|
Rob Rix
|
b591c63c5d
|
Only attempt error recovery at nodes.
|
2017-08-06 18:51:53 -04:00 |
|
Rob Rix
|
04a9b2dc25
|
Don’t call error handlers for partial matches.
|
2017-08-06 18:51:49 -04:00 |
|
Rob Rix
|
d0677b71b7
|
Disable backtracking in repetitions.
|
2017-08-06 18:51:43 -04:00 |
|
Rob Rix
|
15eee07c5d
|
Revert "Parse unambiguously."
This reverts commit 02875b26dd52b1263f1f78d4e7537f29b20a91c0.
|
2017-08-06 18:51:34 -04:00 |
|
Rob Rix
|
4195cbe5ea
|
Parse unambiguously.
|
2017-08-06 18:51:27 -04:00 |
|
Rob Rix
|
697ccf1154
|
Don’t backtrack for Alt.
|
2017-08-06 18:51:23 -04:00 |
|
Rob Rix
|
07e26d03e2
|
Produce the current state on error.
|
2017-08-06 18:51:19 -04:00 |
|
Rob Rix
|
100dd2f305
|
🔥 MonoLocalBinds.
|
2017-08-06 18:51:09 -04:00 |
|
Rob Rix
|
c3dc25dc55
|
🔥 some redundant Eq constraints.
|
2017-08-06 18:50:46 -04:00 |
|
Rob Rix
|
668f81d655
|
Cache the first set of productions on choices.
|
2017-08-06 18:50:41 -04:00 |
|
Rob Rix
|
86e18af4cd
|
Choose holds an Array of choices.
|
2017-08-06 18:50:16 -04:00 |
|
Rob Rix
|
1a43be18d5
|
Evaluate a few values strictly.
|
2017-08-06 18:50:09 -04:00 |
|
Rob Rix
|
c4a30e9fe6
|
Compute the expected symbols as the first set of the current assignment.
|
2017-08-06 18:50:01 -04:00 |
|
Rob Rix
|
38b9821c1d
|
Define a function computing an assignment’s first set of productions.
|
2017-08-06 18:49:47 -04:00 |
|
Rob Rix
|
7277ea4a3a
|
Turn MonoLocalBinds on for Data.Syntax.
|
2017-08-06 18:49:40 -04:00 |
|
Rob Rix
|
ba5551fb07
|
Merge branch 'faster-union-instance-compilation' into delimited-control
|
2017-08-06 18:47:11 -04:00 |
|
Rob Rix
|
6188700166
|
🔥 Prologue (again).
|
2017-08-06 17:08:25 -04:00 |
|
Rob Rix
|
711dcdb203
|
Define GAlign over Union non-inductively.
|
2017-08-06 16:35:53 -04:00 |
|
Rob Rix
|
ba895fec3f
|
Define ToJSONFields over Union non-inductively.
|
2017-08-06 16:32:17 -04:00 |
|
Rob Rix
|
eed5934a21
|
Define the Diffable instance for Unions without induction.
|
2017-08-06 16:25:58 -04:00 |
|
Rob Rix
|
0e19a8ed7b
|
Define ConstructorName without reference to union decomposition.
|
2017-08-06 16:25:13 -04:00 |
|
Rob Rix
|
07c81f114f
|
Move the ConstructorName instance over sums up.
|
2017-08-06 16:25:04 -04:00 |
|
Rob Rix
|
1fa09cebe3
|
Constrain the types in the union instead of constraining the Union.
|
2017-08-06 16:23:27 -04:00 |
|
Rob Rix
|
48e7737268
|
Merge branch 'master' into ghc-8.2.1
|
2017-08-04 12:36:15 -04:00 |
|
Rob Rix
|
48d368683c
|
Combine the alternatives using sconcat.
|
2017-08-04 12:27:43 -04:00 |
|
Rob Rix
|
3e95004249
|
Use record wildcards to unpack the state.
|
2017-08-04 12:04:50 -04:00 |
|
Rob Rix
|
a433fe8072
|
Abbreviate the definition of state.
|
2017-08-04 11:29:34 -04:00 |
|
Rob Rix
|
91f149310d
|
Inline assignBy to keep it out of the profile.
|
2017-08-04 11:25:50 -04:00 |
|
Rob Rix
|
8c13aadce0
|
Merge uncommitted choices at the right.
|
2017-08-04 10:47:45 -04:00 |
|
Rob Rix
|
a8d7ee531a
|
Simplify how alternatives append onto Alt rules.
|
2017-08-04 10:45:07 -04:00 |
|
Rob Rix
|
9dd03613f8
|
nodeSymbol & stateNodes cannot be unpacked.
|
2017-08-04 10:43:25 -04:00 |
|
Rob Rix
|
bc930773d1
|
Allow Location rules to participate in committed choices.
|
2017-08-04 10:32:04 -04:00 |
|
Rob Rix
|
fc6b49c4ec
|
Freeze the call stacks for location & projection rules.
|
2017-08-04 10:27:21 -04:00 |
|
Rob Rix
|
ed93b6e1fa
|
Unpack Node fields.
|
2017-08-04 10:11:19 -04:00 |
|
Rob Rix
|
76d57fc192
|
Unpack state fields.
|
2017-08-04 10:09:55 -04:00 |
|
Rob Rix
|
4b1365729b
|
Strictify state fields.
|
2017-08-04 10:08:50 -04:00 |
|
Rob Rix
|
e4bcdf293f
|
Compare the states directly.
|
2017-08-04 10:08:16 -04:00 |
|
Rob Rix
|
a72b1aaaf3
|
Use on to compare the offsets.
|
2017-08-04 10:06:36 -04:00 |
|
Rob Rix
|
2fec9f283a
|
Factor the matched element out.
|
2017-08-04 10:05:58 -04:00 |
|
Rob Rix
|
da988a4c6f
|
Build up repetitions right-recursively.
|
2017-08-04 10:03:38 -04:00 |
|
Rob Rix
|
8406ba35c2
|
Correct the docs.
|
2017-08-04 09:47:45 -04:00 |
|
Rob Rix
|
075b77f931
|
🔥 unnecessary quantification.
|
2017-08-04 09:33:54 -04:00 |
|
Rob Rix
|
0f08846156
|
Always use the error handler when applicable.
|
2017-08-04 09:20:44 -04:00 |
|
Rob Rix
|
a778382e85
|
📝 disamb.
|
2017-08-04 09:16:24 -04:00 |
|
Rob Rix
|
17102a87b8
|
📝 Amb.
|
2017-08-04 09:15:15 -04:00 |
|
Rob Rix
|
0a8411e534
|
Disambiguate assignment results.
|
2017-08-04 09:11:22 -04:00 |
|
Rob Rix
|
7bd2d6b94b
|
Merge branch 'master' into delimited-control
|
2017-08-04 09:00:07 -04:00 |
|
Rob Rix
|
c117abe1fd
|
Disallow catches of committed choices from recovering at the end of input.
|
2017-08-04 08:49:54 -04:00 |
|
Yuki Izumi
|
2e097f3dc3
|
Add Strikethrough to Data.Syntax.Markup
|
2017-08-04 18:08:08 +10:00 |
|
Rob Rix
|
9d1ade2654
|
Factor out the list & state.
|
2017-08-03 22:46:46 -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
|
a57aa0bf2b
|
Share the continuation.
|
2017-08-03 21:23:47 -04:00 |
|
Rob Rix
|
bece561240
|
Unfreeze the callstacks in <|>.
|
2017-08-03 21:13:35 -04:00 |
|
Rob Rix
|
4dded01e73
|
Preserve callstacks through exhaustiveness checks.
|
2017-08-03 21:11:29 -04:00 |
|