Rob Rix
49fe06d576
🔥 the & typeclass.
2019-10-02 13:51:35 -04:00
Patrick Thomson
90f5c78b0d
Merge branch 'master' into json-and-core-are-breaking-up
2019-10-02 13:50:12 -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
394936efde
Merge pull request #300 from github/abstract-actions-over-terms
...
Abstract actions over terms
2019-10-02 13:39:51 -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
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