Rob Rix
4eb0e76bee
Use square brackets for collections.
2019-10-03 14:24:00 -04:00
Rob Rix
722f8d3a18
Special-case empty collections.
2019-10-03 14:22:46 -04:00
Rob Rix
9439145b2b
Increase indentation.
2019-10-03 14:21:02 -04:00
Rob Rix
67e2909b05
Simplify the formatting of compositions.
2019-10-03 14:17:29 -04:00
Rob Rix
546c1d0e64
List the imports explicitly.
2019-10-03 14:15:47 -04:00
Rob Rix
7b74525d2f
Specialize for the wrapper types and format accordingly.
2019-10-03 14:11:51 -04:00
Rob Rix
7dabb9a972
Use a list literal.
2019-10-03 13:50:47 -04:00
Rob Rix
70c309aaec
Tweak to alignment.
2019-10-03 13:43:21 -04:00
Rob Rix
90341c1138
Merge branch 'master' into semantic-java
2019-10-03 13:24:52 -04:00
Rob Rix
779b1154c6
Allow s-expr rendering for Java & precise Python.
2019-10-03 12:58:06 -04:00
Timothy Clem
f8c76b2329
Merge remote-tracking branch 'origin/master' into proto-lens
2019-10-03 09:48:06 -07:00
Rob Rix
88f9fc88c7
Define a SExprTerm instance for Precise python.
2019-10-03 12:47:18 -04:00
Rob Rix
b322d2674e
Define a SExprTerm instance for Java.
2019-10-03 12:47:10 -04:00
Rob Rix
4ffa6c4a26
sexprTerm is pure.
2019-10-03 12:46:03 -04:00
Rob Rix
e1a18eeb05
Bypass serialize and call into the s-expression serialization code directly.
2019-10-03 12:45:16 -04:00
Timothy Clem
32f6e9dfb9
++proto-lens-jsonpb to handle excluding default fields
2019-10-03 08:41:30 -07:00
Rob Rix
867a65c575
Don’t print L1/R1.
2019-10-03 02:50:42 -04:00
Rob Rix
70b24a476d
Define a GToSExpression instance for :.:.
2019-10-03 02:42:08 -04:00
Rob Rix
feac508bb5
Update Precise.hs
...
Define a GToSExpression instance for Rec1.
2019-10-03 02:40:44 -04:00
Rob Rix
4b0ec75528
Define a GToSExpression instance for Par1.
2019-10-03 02:39:22 -04:00
Rob Rix
48cf558a72
Define ToSExpression at * -> *.
2019-10-03 02:38:01 -04:00
Rob Rix
310e3a36ee
Use ambiguous types instead of proxies.
2019-10-03 02:29:36 -04:00
Rob Rix
8e9fe4e58a
Rename toSExpressionWithStrategy to toSExpression'.
2019-10-03 02:28:59 -04:00
Rob Rix
09070aaf33
Rename ToSExpressionWithStrategy to ToSExpressionBy.
2019-10-03 02:28:32 -04:00
Rob Rix
14e8fd1c50
Merge branch 'master' into semantic-java
2019-10-02 20:51:14 -04:00
Rob Rix
54324a98a7
Merge branch 'master' into list-parsers-independently
2019-10-02 20:27:30 -04:00
Patrick Thomson
2231f7e749
Make runParse return an Either TSParseException.
2019-10-02 18:44:51 -04:00
Rob Rix
914f69add8
🔥 the à la carte Java stuff.
2019-10-02 18:02:50 -04:00
Rob Rix
150ce9b7f3
There isn’t any à la carte Java.
2019-10-02 18:01:31 -04:00
Rob Rix
30d11fe288
Merge branch 'list-parsers-independently' into semantic-java
2019-10-02 17:44:51 -04:00
Rob Rix
116e5b385a
Merge branch 'master' into semantic-java
2019-10-02 17:32:09 -04:00
Timothy Clem
54eb044136
Minor cleanup
2019-10-02 14:21:02 -07:00
Timothy Clem
5fbcca4fe4
Merge remote-tracking branch 'origin/master' into proto-lens
2019-10-02 13:49:32 -07:00
Timothy Clem
85bf7e72ec
Use tclem/proto-lens-jsonpb
2019-10-02 13:14:16 -07:00
Rob Rix
e55426cff1
Weaken the language extension to MonoLocalBinds.
2019-10-02 15:51:40 -04:00
Rob Rix
ce8928e9a2
📝 AnalysisClasses.
2019-10-02 15:50:45 -04:00
Rob Rix
898eb8a22d
Reformat AnalysisClasses.
2019-10-02 15:50:45 -04:00
Rob Rix
e0bc6dc9a8
Update src/Semantic/Api/Terms.hs
...
Co-Authored-By: Patrick Thomson <patrickt@github.com>
2019-10-02 15:31:56 -04:00
Rob Rix
34aaec96d7
📝 the parameters to diffWith/decoratingDiffWith.
2019-10-02 15:30:21 -04:00
Rob Rix
f5f3124efa
📝 diffWith/decoratingDiffWith.
2019-10-02 15:26:15 -04:00
Rob Rix
0c3170edc4
📝 DiffFor.
2019-10-02 15:21:13 -04:00
Rob Rix
e4346562d6
📝 DiffTerms.
2019-10-02 15:18:48 -04:00
Rob Rix
8b705faefc
Rename the DiffFor result variable.
2019-10-02 15:18:29 -04:00
Rob Rix
843b49b26d
🔥 HasDiffFor.
2019-10-02 15:18:13 -04:00
Rob Rix
7433b7e6b1
📝 parseWith & parsePairWith’s parameters.
2019-10-02 15:16:35 -04:00
Rob Rix
3dd91ec21a
Fix some docs.
2019-10-02 15:13:48 -04:00
Rob Rix
87e72d1e0e
Give a kind signature for the constraint parameter to SomeAnalysisParser.
2019-10-02 15:13:40 -04:00
Rob Rix
80fbd7184f
📝 the abstract parsers.
2019-10-02 15:05:33 -04:00
Rob Rix
17481f566e
📝 SomeParser.
2019-10-02 14:52:45 -04:00
Rob Rix
fd94a1d3f2
📝 the canonical sets of parsers.
2019-10-02 14:48:36 -04:00
Rob Rix
2d21661c85
📝 parseWith/parsePairWith.
2019-10-02 14:47:11 -04:00
Rob Rix
a7c366cde2
Use Map instead of lists of pairs for the parsers.
2019-10-02 14:45:16 -04:00
Rob Rix
ecd283ac43
Rename precisePythonParser to pythonParserPrecise.
2019-10-02 14:10:59 -04:00
Rob Rix
1a1cdc9acb
🔥 the export of precisePythonParser.
2019-10-02 14:10:05 -04:00
Rob Rix
2a8d57fa6d
Merge branch 'master' into list-parsers-independently
2019-10-02 14:08:26 -04:00
Rob Rix
9c981030b9
🔥 ApplyAll.
2019-10-02 14:05:57 -04:00
Rob Rix
66801bf4f6
SomeAnalysisParser uses a single constraint.
2019-10-02 14:05:04 -04:00
Rob Rix
ce3fe3fbe7
Eliminate a few uses of Join.
2019-10-02 13:57:46 -04:00
Rob Rix
4a6da6903d
🔥 redundant language extensions.
2019-10-02 13:53:08 -04:00
Rob Rix
49fe06d576
🔥 the & typeclass.
2019-10-02 13:51:35 -04:00
Patrick Thomson
cf7f403c0d
Merge branch 'master' into safer-exceptions-over-tree-sitter-ffi
2019-10-02 13:48:14 -04:00
Rob Rix
56f8f5f666
Define an analogue of diffWith which does no decoration.
2019-10-02 13:43:41 -04:00
Rob Rix
6b77558d69
Rename diffWith to decoratingDiffWith.
2019-10-02 13:42:15 -04:00
Rob Rix
21f36e1161
Weaken from GADTs to MonoLocalBinds.
2019-10-02 13:35:32 -04:00
Rob Rix
3ec0981e47
🔥 DiffActions.
2019-10-02 13:30:44 -04:00
Rob Rix
f98471a614
🔥 SomeTermPair.
2019-10-02 13:30:39 -04:00
Rob Rix
fdc0fb6dcc
🔥 Decorate.
2019-10-02 13:29:15 -04:00
Rob Rix
2fb8a77ef2
🔥 doParse.
2019-10-02 13:28:56 -04:00
Rob Rix
a5307843c6
🔥 doDiff.
2019-10-02 13:28:08 -04:00
Rob Rix
99f9edf65f
Use diffWith for summaries.
2019-10-02 13:26:52 -04:00
Rob Rix
dd01c89463
Use diffWith for legacy summaries.
2019-10-02 13:25:42 -04:00
Rob Rix
2be893baf0
🔥 diffParsers.
2019-10-02 13:24:56 -04:00
Rob Rix
af17fb489b
Use diffWith for JSON trees.
2019-10-02 13:24:26 -04:00
Rob Rix
e7013d8c90
Use diffWith for JSON graphs.
2019-10-02 13:23:56 -04:00
Rob Rix
e3734e4165
Use diffWith for DOT.
2019-10-02 13:22:59 -04:00
Rob Rix
a6466b86a2
Use diffWith for show.
2019-10-02 13:22:18 -04:00
Rob Rix
4f50381c4c
Use diffWith to diff s-expressions.
2019-10-02 13:21:21 -04:00
Rob Rix
85509fa339
Explicitly list the type parameters for diffWith.
2019-10-02 13:21:08 -04:00
Rob Rix
5cee2da207
Prove DiffTerms for each of the sets of parsers.
2019-10-02 13:20:56 -04:00
Rob Rix
cf37d082d1
Define sets of parsers for each diff output format.
2019-10-02 13:18:02 -04:00
Rob Rix
589a567e60
Export diffWith.
2019-10-02 13:17:49 -04:00
Rob Rix
4036affcf2
Define a helper to run a diff with a specific set of parsers.
2019-10-02 13:15:07 -04:00
Rob Rix
052c99ec12
Define a typeclass for joining constraints together.
2019-10-02 13:14:25 -04:00
Rob Rix
a888d6722e
Generalize diffTerms to require only DiffTerms.
2019-10-02 13:04:46 -04:00
Rob Rix
4d2fd76b2d
Bifoldable (DiffFor term) is a superclass of DiffTerms.
2019-10-02 13:03:59 -04:00
Rob Rix
2c9349087c
Construct the canonical list of diff parsers.
2019-10-02 12:38:14 -04:00
Rob Rix
e8a89bfddc
Use a class for diff actions.
2019-10-02 12:38:01 -04:00
Rob Rix
8418813e5b
Define all of the diffing actions using HasDiffFor.
2019-10-02 12:32:47 -04:00
Rob Rix
678d586ec5
Define a HasDiffFor class with a type family for the diff.
2019-10-02 12:32:07 -04:00
Patrick Thomson
bbf3554bd7
Move and export the exception type.
2019-10-02 12:23:59 -04:00
Patrick Thomson
4c4329f295
Use Exception.try and throw to handle errors from tree-sitter FFI.
...
The crossing into IO and across the FFI boundary is a dangerous
journey. A `try` call handles all possible dynamic/IO-bound
exceptions, and enables the use of a more precise error type on our
end (rather than `String`) and makes downstream code simpler (we just
pass on the thrown `SomeException` rather than throwing a new one
based on a `Left String`).
2019-10-02 12:12:05 -04:00
Rob Rix
e8279b9081
Define an action to parse BlobPairs with a single parser.
2019-10-02 12:11:20 -04:00
Patrick Thomson
ca2f8a65a8
Merge branch 'master' into abstract-actions-over-terms
2019-10-02 12:07:35 -04:00
Rob Rix
f07c8a0c98
Use parseWith to produce tags.
2019-10-02 12:05:02 -04:00
Rob Rix
7454477ecc
Compute tags via a more general interface.
...
This allows us to 🔥 ALaCarteTerm.
2019-10-02 12:01:06 -04:00
Rob Rix
9f97649a33
Swap the order of the source & symbols to summarize params.
2019-10-02 11:57:26 -04:00
Rob Rix
b285e612d9
Move parseWith into Control.Effect.Parse.
2019-10-02 11:46:54 -04:00
Rob Rix
fc9a579085
🔥 doParse.
2019-10-02 11:44:29 -04:00
Rob Rix
837916e922
Use parseWith for JSONGraphTerm.
2019-10-02 11:43:40 -04:00
Rob Rix
41652c96ab
Use parseWith for JSONTreeTerm.
2019-10-02 11:41:21 -04:00