1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 00:12:29 +03:00
Commit Graph

8359 Commits

Author SHA1 Message Date
Yuki Izumi
bcf6b5b45e Use cmark-gfm package 2017-08-03 17:22:40 +10:00
Rick Winfrey
0dd16d83c1 Fix comment 2017-08-02 17:46:48 -07:00
Rick Winfrey
947102e996 📝 many comment problem for conditional expressions 2017-08-02 17:45:05 -07:00
Rick Winfrey
5858d210b6 This allows for catching a comment, but not greedily matching expressions
Using `many comment` will consume anonymous nodes (including the `+` in a binary operator expression).
2017-08-02 17:27:43 -07:00
Rick Winfrey
12e5d30723 Merge branch 'master' into bump-tree-sitter-python 2017-08-02 16:24:22 -07:00
Rick Winfrey
4204df6003 Merge branch 'master' into parse-jsx 2017-08-02 15:51:45 -07:00
Rob Rix
918aeb5301 Recur via the worker function. 2017-08-02 17:37:34 -04:00
Rob Rix
79467e3be7 Wrap the body of runParser up in a worker function. 2017-08-02 17:36:48 -04:00
Rob Rix
8454e187d4 Swap the order of the parser & blob params. 2017-08-02 17:36:04 -04:00
Rob Rix
35a431f794 blobFields closes over the blob. 2017-08-02 17:35:08 -04:00
Rob Rix
02ddc4eb65 Show missing languages as the empty string. 2017-08-02 17:34:34 -04:00
Rob Rix
0c1d08d89d Produce a term when assignment fails at the root. 2017-08-02 17:32:12 -04:00
Rob Rix
b619389ec6 Don’t showBlob. 2017-08-02 17:28:53 -04:00
Rob Rix
38387be114 Don’t include the language key when there is no language. 2017-08-02 17:28:09 -04:00
Rob Rix
2d5a1746ba Merge branch 'master' into delimited-control 2017-08-02 17:23:26 -04:00
Rob Rix
29597fa165 Log the blob fields. 2017-08-02 17:21:45 -04:00
Rob Rix
066465e4d1 Syntax.Error always has an Assignment.Error. 2017-08-02 17:20:55 -04:00
Rob Rix
37704d15f1 Let handleError pick up parse errors. 2017-08-02 17:13:48 -04:00
Rob Rix
beb64af235 Handle errors in JSON. 2017-08-02 16:26:43 -04:00
Rob Rix
c4ca401b5d Handle errors in Ruby expressions. 2017-08-02 16:26:10 -04:00
Rob Rix
f47447a509 Handle assignment errors in Markdown. 2017-08-02 16:26:02 -04:00
Rob Rix
773bf87130 Use the shared combinators in the language assignments. 2017-08-02 16:19:40 -04:00
Rob Rix
c05ff0dd59 🔥 unnecessary Eq instances. 2017-08-02 16:16:35 -04:00
Rob Rix
696219509a Define parseError in Data.Syntax. 2017-08-02 16:15:34 -04:00
Rob Rix
a94eaeffaa Define handleError in Data.Syntax. 2017-08-02 16:15:28 -04:00
Rob Rix
ece4e2de3a Define emptyTerm in Data.Syntax. 2017-08-02 16:15:09 -04:00
Rob Rix
d6f6b9d09c Define makeTerm in Data.Syntax. 2017-08-02 16:14:52 -04:00
Rob Rix
83c6797fa9 Extract a handleError combinator. 2017-08-02 15:59:47 -04:00
Rob Rix
306c4ee42e Remove the redundant type parameter from Assignment. 2017-08-02 15:58:45 -04:00
Rob Rix
b6e064e187 Note that we should log assignment errors. 2017-08-02 15:50:22 -04:00
Rob Rix
69b66fcf21 Separate warnings for parsing & assignment errors in the tree. 2017-08-02 15:49:56 -04:00
Rob Rix
7d07624f4e Add an error handler to the Python expression rule. 2017-08-02 15:42:13 -04:00
Rob Rix
c2e2aa9b7c Log the details of assignment errors in the tree. 2017-08-02 15:35:06 -04:00
Rob Rix
6821e463d0 Add optional assignment errors to Syntax.Error. 2017-08-02 15:31:12 -04:00
Rob Rix
bc0df93593 Derive Foldable, Functor, & Traversable instances for Error. 2017-08-02 15:30:53 -04:00
Rob Rix
af6a3c8b75 Correct an obsolete comment. 2017-08-02 15:18:03 -04:00
Rob Rix
c8bedceabe Rename the type parameter for the parent context. 2017-08-02 15:12:50 -04:00
Rob Rix
f9976fd144 🔥 more redundant parens. 2017-08-02 15:04:02 -04:00
Rob Rix
fe1d3cb4db 🔥 redundant parens. 2017-08-02 15:03:45 -04:00
Rob Rix
2cc13c427d 🔥 Capture & Escape. 2017-08-02 15:00:06 -04:00
Rob Rix
aef66153d9 Remove the capture/escape from the Python grammar. 2017-08-02 14:59:53 -04:00
Rob Rix
9b1bd71523 Change the result type to reflect the rest of iteration. 2017-08-02 14:45:57 -04:00
Rob Rix
f2ae2cadd9 Run the delimited assignment. 2017-08-02 14:16:51 -04:00
Rob Rix
6e2f3a4358 Stub in an attempt at resolving assignment errors in Python expressions. 2017-08-02 14:10:54 -04:00
Rob Rix
ced0c5bfa5 Define smart constructors for capture & escape. 2017-08-02 14:05:34 -04:00
Rob Rix
7738dd991c Correct the type of the continuation. 2017-08-02 14:05:04 -04:00
Rob Rix
99f80fee90 Add an Escape constructor to AssignmentF. 2017-08-02 13:59:17 -04:00
Rob Rix
633f8b2c8e Add a Capture constructor to AssignmentF. 2017-08-02 13:57:29 -04:00
Rob Rix
cc21edd3bb Add a final result type parameter to Assignment. 2017-08-02 13:51:22 -04:00
Timothy Clem
1a5ffa9bcd Merge branch 'master' into print-source 2017-08-02 10:44:31 -07:00
Rob Rix
941dbe4d8a Define a function to retrieve the callstack from errors. 2017-08-02 12:19:17 -04:00
Rob Rix
a017b27781 Factor out the construction of the error. 2017-08-02 12:07:47 -04:00
Rob Rix
2093e85a76 Produce the callstacks from the assignment constructors. 2017-08-02 11:58:20 -04:00
Rick Winfrey
9f791d877b Shim for handling comments when they are siblings to decorators 2017-08-01 18:20:30 -07:00
Rick Winfrey
9937b5371d Restrict decorated definition final expressions (for better errors) 2017-08-01 18:19:56 -07:00
Rick Winfrey
462bccb66e Assign comments in concatenated strings as empty string 2017-08-01 18:19:18 -07:00
Rick Winfrey
ef907b81d7 Many comment is too greedy (and not necessary here) 2017-08-01 17:21:56 -07:00
Rick Winfrey
51d3298282 Elide comments from boolean operator expressions 2017-08-01 17:07:31 -07:00
Rick Winfrey
a2bb8479a3 Elide comments from comprehensions 2017-08-01 17:02:50 -07:00
Rick Winfrey
f486f2c41a Elide comments preceeding a binary operator but after the left hand expression 2017-08-01 16:54:12 -07:00
Rick Winfrey
a2dd9de441 Handle comments in problematic locations for conditional expressions 2017-08-01 16:52:38 -07:00
Rick Winfrey
09889b86d5 Capture expressions on right hand side of binary operator expressions 2017-08-01 16:52:19 -07:00
Rick Winfrey
61a5fd0200 Capture expressions on the right hand side (to include comments) 2017-08-01 16:51:39 -07:00
Rick Winfrey
ada6eb2d51 Not all expressions have WithItem the symbol 2017-08-01 16:51:12 -07:00
Timothy Clem
10ad4e29f6 Autodetect print source 2017-08-01 15:05:25 -07:00
Rick Winfrey
e6bcf3ac82 Allow comments after decorator line 2017-08-01 12:53:33 -07:00
Rick Winfrey
921bc1db2d Assign argument list 2017-08-01 12:47:45 -07:00
Rick Winfrey
61a34fe866 Assign comments in decorator definitions 2017-08-01 11:53:38 -07:00
Timothy Clem
e087469624 Better logging keys 2017-07-31 15:22:11 -07:00
Timothy Clem
fa3523d020 Merge branch 'master' into exit-status 2017-07-31 12:45:41 -07:00
Timothy Clem
268563b929 queue log messages directly 2017-07-31 12:44:08 -07:00
Timothy Clem
613fd2c6fb Already in IO 2017-07-31 12:43:44 -07:00
Rob Rix
a6fa1c80c9 Whoops. 2017-07-31 15:23:58 -04:00
Timothy Clem
1ed5d718f6 Merge branch 'master' into exit-status 2017-07-31 11:00:01 -07:00
Timothy Clem
ee18cfff39 Case id as ID 2017-07-31 09:05:55 -07:00
Timothy Clem
b5c1967440 Allow optional logging of request_id 2017-07-31 09:01:51 -07:00
Timothy Clem
87b2662b02 Log process ID 2017-07-31 08:56:17 -07:00
Timothy Clem
79b5509b00 Let the time task do it's own logging 2017-07-31 08:37:35 -07:00
Timothy Clem
6e682c880e Slightly cleaner nested eithers 2017-07-31 08:23:53 -07:00
Timothy Clem
6c44985e43 Switch disableColor to enableColor 2017-07-31 08:19:34 -07:00
Timothy Clem
e05b6e156e Cleanup use of showPairs 2017-07-31 08:14:32 -07:00
Rob Rix
e53adbd247 Merge branch 'master' into output-typeclass 2017-07-31 11:05:04 -04:00
Timothy Clem
14a2a8ba55 It's a bit more clear if this is called Log 2017-07-28 17:09:08 -07:00
Timothy Clem
4ecbf51763 Extract Semantic.Log 2017-07-28 17:07:48 -07:00
Rick Winfrey
30dccaffa1 Merge branch 'master' into parse-jsx 2017-07-28 17:06:11 -07:00
Rick Winfrey
22f4a60ee2 Parse jsx files with the TypeScript parser 2017-07-28 16:42:19 -07:00
Timothy Clem
d497df47c8 Rework error printing 2017-07-28 16:41:16 -07:00
Timothy Clem
b849180369 Possibility to log inserting and deleting timing 2017-07-28 16:40:57 -07:00
Timothy Clem
ed76134965 Formatting 2017-07-28 16:20:55 -07:00
Timothy Clem
ec66f2405c Not using the nullFormatter 2017-07-28 16:20:47 -07:00
Timothy Clem
565c559b9a Pass around ZonedTime 2017-07-28 16:20:24 -07:00
Rick Winfrey
aaa8713b96 🔥 FDocs 2017-07-28 16:12:20 -07:00
Timothy Clem
409188753d New timing Task 2017-07-28 15:55:20 -07:00
Rob Rix
7da8799e08 🔥 Prologue & protolude. 2017-07-28 14:37:02 -04:00
Rob Rix
7945306f0f Export MonadError(..) from Assignment. 2017-07-28 14:26:21 -04:00
Timothy Clem
8bc4db3e4b WIP - rework logging 2017-07-28 11:18:13 -07:00
Rob Rix
aa3b450e0e Remove the FDocs. 2017-07-28 14:02:14 -04:00
Rob Rix
6ea1661fa1 Merge branch 'output-typeclass' into requiem-for-a-protolude 2017-07-28 14:00:11 -04:00
Rob Rix
ce8f7d4903 Pack node names explicitly. 2017-07-28 13:57:58 -04:00
Rob Rix
72282f15a7 Re-export Alternative(..) and optional from Assignment. 2017-07-28 13:57:19 -04:00
Rob Rix
3646ab2b15 Renderers produce Output. 2017-07-28 11:23:55 -04:00
Rob Rix
5da9f90532 Define an Output instance for ByteString. 2017-07-28 11:21:21 -04:00
Timothy Clem
709c4c98fc Use unwords and fmap instead of foldr and <> 2017-07-28 08:12:28 -07:00
Rob Rix
ab2c1a7cd3 Define an Output typeclass. 2017-07-28 11:12:04 -04:00
Rob Rix
acb35a5869 Stub in a module for an output typeclass. 2017-07-28 11:11:30 -04:00
Timothy Clem
2de353451d Just use a let here 2017-07-28 08:08:30 -07:00
Timothy Clem
162f25de9b Clean up lambdas for displayException 2017-07-28 08:05:08 -07:00
Rob Rix
bc5a98766c Merge branch 'master' into distribute-alternation-through-binds-and-overlapping-committed-choices 2017-07-27 20:38:12 -04:00
Rob Rix
0978826498 🔥 C term assignment. 2017-07-27 17:14:40 -04:00
Rob Rix
e5eb9f7a5b 🔥 the C constructor in Language. 2017-07-27 17:14:23 -04:00
Timothy Clem
3ab53d77a8 Bit more cleanup 2017-07-27 13:38:30 -07:00
Timothy Clem
eb7f5277e0 Little bit of cleanup 2017-07-27 12:56:04 -07:00
Timothy Clem
11876f2dcd Write key/value logs and log timing 2017-07-27 11:21:59 -07:00
Timothy Clem
a00701f96f Basic ability to set exitStatus 2017-07-26 20:50:59 -07:00
Rob Rix
95becb09cb Short-circuit alternations of throws at left. 2017-07-26 19:17:44 -04:00
Rob Rix
3d773fbe7d Allow throw rules to participate in committed choices. 2017-07-26 19:16:47 -04:00
Rob Rix
3a8c6ed83f Allow catch rules to participate in committed choices. 2017-07-26 19:14:31 -04:00
Rob Rix
75fd8b86f8 Catch rules hold assignments. 2017-07-26 19:14:01 -04:00
Rob Rix
368aca225d Coalesce returns on the left into committed choices. 2017-07-26 19:09:31 -04:00
Rob Rix
86e7837e76 Give Choose rules a (left-biased) way to match at the end of input. 2017-07-26 19:07:06 -04:00
Rob Rix
8486057a6d Alternation distributes through binds over Source rules. 2017-07-26 18:45:00 -04:00
Rob Rix
76feae64d7 Alternation distributes through binds over Location rules. 2017-07-26 18:42:52 -04:00
Rob Rix
5886098f65 Tighten up the assignment into the IntMap. 2017-07-26 16:19:25 -04:00
Rob Rix
7cbb8ff498 Rename the parameters. 2017-07-26 12:47:10 -04:00
Rob Rix
682bb5540d Reindent the choices case. 2017-07-26 12:45:23 -04:00
Rob Rix
96ef8d00bc Distribute alternation through children rules. 2017-07-26 12:10:07 -04:00
Rob Rix
3cbedc59a2 Distribute alternation through overlapping choices. 2017-07-26 11:11:44 -04:00
Rob Rix
2d264d4d44 Explicitly use the union operator. 2017-07-26 11:02:29 -04:00
Timothy Clem
26f9b77e8e Merge branch 'master' into python-assignment-fixes 2017-07-24 10:45:05 -07:00
Timothy Clem
fbad9eb01b Alphabetize alternates 2017-07-24 10:44:50 -07:00
Rob Rix
62af1aef30 🔥 an obsolete documentation comment. 2017-07-24 13:20:57 -04:00
Rob Rix
2d606aa934 Merge branch 'master' into simpler-monolithic-syntax 2017-07-24 13:20:14 -04:00
Rob Rix
20cdc2d480 Merge branch 'master' into serialize-concurrent-logging 2017-07-24 12:45:48 -04:00
Rob Rix
5e469a398c 📝 why we capture toNode & source in the top-level definition, but assignment and state in a lambda. 2017-07-24 12:40:09 -04:00
Rob Rix
7a28acf858 Capture the assignment & state in a lambda. 2017-07-24 12:39:52 -04:00
Rob Rix
3ac3002273 Rewrite go in pointful style for better inlining behaviour. 2017-07-24 12:31:55 -04:00
Rob Rix
103c0b9d1d Backtrack with a lambda. 2017-07-24 12:30:36 -04:00
Rob Rix
b83366c2d1 Revert "Revert "Lift the operations in Files to MonadIO.""
This reverts commit 8adcb0fba5275ecde11781256b69b43f601f1037.
2017-07-23 16:17:39 -04:00
Rob Rix
0c9bc34a1c Revert "Lift the operations in Files to MonadIO."
This reverts commit 11915d97bf6083c8f4cffaa5cb18b3341e89de48.
2017-07-23 16:16:52 -04:00
Rob Rix
145a1ad155 Revert "Revert "Lift the operations in Files to MonadIO.""
This reverts commit 2d5468e38a3050327654bf5251c16fb68660917c.
2017-07-23 16:16:38 -04:00
Rob Rix
1f4ba7e09d Revert "Lift the operations in Files to MonadIO."
This reverts commit 11915d97bf6083c8f4cffaa5cb18b3341e89de48.
2017-07-23 16:15:01 -04:00
Rob Rix
f1295cfe0b 🔥 SplitSyntaxDiff. 2017-07-23 16:00:36 -04:00
Rob Rix
d09c1690d7 Remove the leaf type parameter from SplitSyntaxDiff. 2017-07-23 16:00:10 -04:00
Rob Rix
ba68f866fd Remove the leaf type parameter from SyntaxDiff. 2017-07-23 15:59:02 -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
8c46ff8afb 🔥 Syntax record selectors. 2017-07-23 15:15:17 -04:00
Rob Rix
edcb55a686 Move the source adjacent to where it’s used. 2017-07-23 15:08:53 -04:00
Rob Rix
7902bf683d Pass blobs to parseToAST. 2017-07-23 15:06:21 -04:00
Rob Rix
ca68b834e1 Specify language lookup with a list. 2017-07-23 15:03:02 -04:00
Rob Rix
ec0c5420a3 Use the SyntaxTerm type synonym. 2017-07-23 15:00:46 -04:00
Rob Rix
cb90f2dd43 Don’t slice the Source down repeatedly.
Slicing Source is O(1).
2017-07-23 14:59:34 -04:00
Rob Rix
999d2d1efb Remove the Language from TreeSitterParsers. 2017-07-23 14:56:44 -04:00
Rob Rix
607e538588 Define a function selecting a Language for a Ptr TSLanguage. 2017-07-23 14:56:18 -04:00
Rob Rix
5b8015311f Show the language of sources with parse errors. 2017-07-23 14:44:12 -04:00
Rob Rix
86823f75ad Log a warning on parse error. 2017-07-23 14:42:51 -04:00
Rob Rix
8b3b6f36e2 Define a catamorphism determining whether a term contains parse errors. 2017-07-23 14:40:30 -04:00
Rob Rix
93f653b765 Bind the error fields. 2017-07-23 14:33:38 -04:00
Rob Rix
2fb501ab30 Bind the current time instead of using do notation. 2017-07-23 14:27:24 -04:00
Rob Rix
77e7ed0ba5 Spacing. 2017-07-23 14:24:05 -04:00
Rob Rix
b7e776ee90 Add the hours, minutes, & seconds to timestamps. 2017-07-23 14:21:20 -04:00
Rob Rix
bbb0c307e5 Add timestamps to logged messages. 2017-07-23 14:16:15 -04:00
Rob Rix
adc71548e5 Pass Messages to formatMessage. 2017-07-23 14:15:53 -04:00
Rob Rix
69b9b1d6be Pass Messages over the queue with the current time. 2017-07-23 14:12:13 -04:00
Rob Rix
29fd11f96f Define a Message datatype. 2017-07-23 14:11:48 -04:00
Rob Rix
6358896dc5 Pass the option to print source when formatting assignment errors. 2017-07-23 13:45:12 -04:00
Rob Rix
a2f1a0cfe0 Add an option & CLI flag for including source. 2017-07-23 13:44:18 -04:00
Rob Rix
7a36a428da Merge branch 'run-assignment-worker-wrapper' into serialize-concurrent-logging 2017-07-22 18:10:56 -04:00
Rob Rix
0678c2aeee Always return at least one zero-width match. 2017-07-22 18:06:32 -04:00
Rob Rix
519c43d39d Correct the indentation of the argument docs. 2017-07-22 17:47:18 -04:00
Rob Rix
e4397a57b3 Rename atNodeOrEnd to anywhere. 2017-07-22 17:34:13 -04:00
Rob Rix
4f5990d5ad Rename atEnd to reflect the fact that it might not be. 2017-07-22 17:33:47 -04:00
Rob Rix
3b95662be2 Guard the expected symbols by pattern matching. 2017-07-22 17:29:35 -04:00
Rob Rix
fa8d0e4db6 🔥 the inlining of run. 2017-07-22 17:28:09 -04:00
Rob Rix
0ffb818898 Don’t bind the first assignment. 2017-07-22 17:27:08 -04:00
Rob Rix
acc1d683d1 Define runAssignment as a Kleisli composition. 2017-07-22 17:26:40 -04:00
Rob Rix
a1a3f3be79 Rename the first state so we don’t use it where we mean some later state. 2017-07-22 17:25:54 -04:00
Rob Rix
d2bde129da Combine goMany and loop. 2017-07-22 17:25:39 -04:00
Rob Rix
6f954d4510 Define runMany as a worker/wrapper. 2017-07-22 17:11:26 -04:00
Rob Rix
2adf4ee765 Use Either’s MonadError instance to backtrack. 2017-07-22 16:59:38 -04:00
Rob Rix
6caaec8289 Spacing. 2017-07-22 16:58:09 -04:00
Rob Rix
2ee6332b66 🔥 projectNode. 2017-07-22 16:57:45 -04:00
Rob Rix
8b63e54f6d 🔥 an unnecessary fmap. 2017-07-22 16:56:21 -04:00
Rob Rix
4a0fb31ba1 Handle node errors in one place. 2017-07-22 16:55:43 -04:00
Rob Rix
c7d3def19f 🔥 choiceSymbols. 2017-07-22 16:53:46 -04:00
Rob Rix
15a6680848 Divide rule behaviours into at-end and at-node. 2017-07-22 16:53:18 -04:00
Rob Rix
d5799cff0d Project the head node. 2017-07-22 16:36:21 -04:00
Rob Rix
770e367c9b Tacit definition of choiceSymbols. 2017-07-22 16:33:59 -04:00
Rob Rix
ba0f28fce2 Only bind results explicitly once we need to destructure them. 2017-07-22 16:32:56 -04:00
Rob Rix
18ae76951b De-golf children assignment. 2017-07-22 16:31:23 -04:00
Rob Rix
7675f348d2 Rename advanceState to advance. 2017-07-22 16:27:02 -04:00
Rob Rix
5fab039939 Only drop when there are choices. 2017-07-22 16:24:26 -04:00
Rob Rix
30fba30c28 Correct the sense of the predicate. 2017-07-22 16:20:16 -04:00
Rob Rix
32c03be782 Rename AssignmentState to State. 2017-07-22 16:13:42 -04:00
Rob Rix
b91f70ec6a Simplify error construction. 2017-07-22 16:08:12 -04:00
Rob Rix
04fe451ca3 Swap the parameters to nodeError. 2017-07-22 16:05:55 -04:00
Rob Rix
a4a8e85bbb Extract the computation of errors for a given node. 2017-07-22 16:05:02 -04:00
Rob Rix
0aa86a309f Reformat Error. 2017-07-22 16:00:50 -04:00
Rob Rix
130b4a0d3e Write the child chain as a Kleisli composition. 2017-07-22 15:55:30 -04:00
Rob Rix
2c98b31f73 Run child assignments as direct Monadic chain. 2017-07-22 15:52:37 -04:00
Rob Rix
09787f5e93 Combine the Error constructors. 2017-07-22 15:43:48 -04:00
Rob Rix
630d78ae2a 🔥 the Show1 instance for Error. 2017-07-22 15:41:56 -04:00
Rob Rix
1b3a8f1311 Simplify error construction. 2017-07-22 15:34:56 -04:00
Rob Rix
a04a05cf1a Combine ErrorCause into Error. 2017-07-22 15:31:43 -04:00
Rob Rix
8f492b7a9a Combine the error clauses. 2017-07-22 15:19:27 -04:00
Rob Rix
126e319b88 Bind the head node. 2017-07-22 15:07:31 -04:00
Rob Rix
fd27976ba6 🔥 the note re: nullability.
It really only made sense when we were matching stateNodes at the same time.
2017-07-22 15:04:42 -04:00
Rob Rix
6a80c9dae9 🔥 some unneccessary quantifiers. 2017-07-22 15:03:58 -04:00
Rob Rix
8062a7aad4 Spacing. 2017-07-22 15:02:17 -04:00
Rob Rix
1d8c4fdeea Define a helper to project nodes. 2017-07-22 15:01:29 -04:00
Rob Rix
40313b598f Simplify the chain for choices. 2017-07-22 14:56:19 -04:00
Rob Rix
f628d22aee Match the head node with guard clauses. 2017-07-22 14:52:34 -04:00
Rob Rix
140b5cf49b Simplify how the node is projected out. 2017-07-22 14:50:26 -04:00
Rob Rix
11e83f0413 Define the error cases with guard clauses. 2017-07-22 14:49:14 -04:00
Rob Rix
dc9bfe28d1 Combine the rules for Location assignments. 2017-07-22 14:41:58 -04:00
Rob Rix
e8afa8817e Preserve backtracking errors via a setter. 2017-07-22 14:34:04 -04:00
Rob Rix
9bac600596 Define advanceState closed over the projection. 2017-07-22 14:27:46 -04:00
Rob Rix
8be255dfd7 Define dropAnonymous closed over the projection. 2017-07-22 14:24:43 -04:00
Rob Rix
8404b320b6 Define expectedSymbols with guard clauses. 2017-07-22 14:23:38 -04:00
Rob Rix
346d87b572 Tighten up the computation of the starting state. 2017-07-22 14:23:01 -04:00
Rob Rix
b97deff731 Tighten up how alternations are run. 2017-07-22 14:12:04 -04:00
Rob Rix
48cfac86f2 Tighten up how catching is run. 2017-07-22 14:10:56 -04:00
Rob Rix
fd20883532 📝 stateError. 2017-07-22 14:09:13 -04:00
Rob Rix
b9353f0d15 📝 the arguments to assignBy. 2017-07-22 14:07:58 -04:00
Rob Rix
53bb412fd3 Align the arguments with the ::. 2017-07-22 14:06:44 -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
Rob Rix
a1d03bb6cc Inline go. 2017-07-22 13:56:56 -04:00
Rob Rix
4eabcf9cfc Reformat the type signature for go. 2017-07-22 13:50:31 -04:00
Rob Rix
8a1a027e22 🔥 assign. 2017-07-22 13:47:36 -04:00
Rob Rix
9822c85709 🔥 assignAllFrom. 2017-07-22 13:47:08 -04:00
Rob Rix
0666ea03fe Define assignBy in terms of runAssignment & requireExhaustive. 2017-07-22 13:46:54 -04:00
Rob Rix
353847c5e3 Recur and then require exhaustiveness. 2017-07-22 13:45:50 -04:00
Rob Rix
07b132e631 Define a combinator requiring exhaustiveness. 2017-07-22 13:44:51 -04:00
Rob Rix
15b7735874 Define assignAllFrom using do-notation. 2017-07-22 13:38:16 -04:00
Rob Rix
2b72ca3a8a Inline runMany. 2017-07-22 13:34:43 -04:00
Rob Rix
fab398e089 Pull runMany out of run. 2017-07-22 13:34:40 -04:00
Rob Rix
a7a04ae3d3 📝 the parameters to runAssignment. 2017-07-22 13:32:51 -04:00
Rob Rix
5b674d1940 runMany closes over the source and projection. 2017-07-22 13:29:41 -04:00
Rob Rix
37494f9c03 go shadows the result type parameter. 2017-07-22 13:29:12 -04:00
Rob Rix
ee66fc74bf runMany shadows the result type parameter. 2017-07-22 13:28:59 -04:00
Rob Rix
cbed2b82a0 run shadows the result type parameter. 2017-07-22 13:28:45 -04:00
Rob Rix
4b28073c6e Pull the body of runAssignment into a worker function. 2017-07-22 13:24:09 -04:00
Rob Rix
f3a780e3a9 Reformat the type signature for run. 2017-07-22 13:22:42 -04:00
Rob Rix
d1f291c62d Merge branch 'master' into serialize-concurrent-logging 2017-07-22 13:20:20 -04:00
Timothy Clem
ed525a310f Finally clauses can have multiple statements/expressions 2017-07-21 15:46:17 -07:00
Timothy Clem
618165452a With statements with multiple withItems and partial withItems 2017-07-21 15:46:04 -07:00
Timothy Clem
1ab0701df2 Allow comments in pairs 2017-07-21 15:10:31 -07:00
Timothy Clem
8831317423 Fix issues with with and multiple body statements 2017-07-21 15:01:01 -07:00