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
f15fd176b2
Merge branch 'master' into json-and-core-are-breaking-up
2019-10-02 12:14:31 -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
Patrick Thomson
40b6a8481f
Merge pull request #298 from github/remove-project-readfile
...
Remove Data.Project.readFile and unnecessary Error constraints.
2019-10-02 11:54:48 -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
Rob Rix
b0b419bf6e
Use parseWith for DOTGraphTerm.
2019-10-02 11:39:48 -04:00
Rob Rix
5013f3bfca
Define showTermParsers using allParsers.
2019-10-02 11:37:35 -04:00
Rob Rix
f32c25b01a
Define showTermParsers as a function, rather than in a monad.
2019-10-02 11:36:14 -04:00
Rob Rix
d8b99b9cb1
Use the canonical listing of à la carte parsers for sexprTermParsers.
2019-10-02 11:27:13 -04:00
Rob Rix
035f26725f
List the canonical precise parsers.
2019-10-02 11:26:11 -04:00
Rob Rix
7aee07b3ec
List all the canonical parsers.
2019-10-02 11:24:37 -04:00
Patrick Thomson
b33b98e75c
Remove FileCheck conversion of Core to JSON.
...
Converting Core into JSON and querying it turned out to be an exercise
in frustration, since Core does not map naturally onto JSON. Indeed,
we have given up using it entirely thanks to the `CHECK-TREE`
directive, which is much more natural. This means we can drop it from
the test harness and remove the orphan instances that allowed it.
2019-10-02 11:23:33 -04:00
Rob Rix
1b46f40e8f
List the canonical à la carte parsers.
2019-10-02 11:23:27 -04:00
Rob Rix
0307f7e536
Alphabetize.
2019-10-02 11:22:43 -04:00
Patrick Thomson
7d93f390a6
Merge branch 'master' into abstract-actions-over-terms
2019-10-02 11:20:31 -04:00
Rob Rix
2e9213bfda
Use parseWith for SExprTerm.
2019-10-02 11:19:48 -04:00