1
1
mirror of https://github.com/github/semantic.git synced 2024-12-21 13:51:44 +03:00
Commit Graph

19868 Commits

Author SHA1 Message Date
Rob Rix
377d824898
Use distinct type parameters for the annotations on either side.
This allows us to ensure that they’re handled soundly.
2019-10-01 22:10:42 -04:00
Rob Rix
7aa36de3f9
Spacing. 2019-10-01 22:05:29 -04:00
Rob Rix
8fc85e8f2b
Render diffs to JSON graphs using an abstract interface. 2019-10-01 22:02:50 -04:00
Rob Rix
b401da6c1f
Render diffs to JSON trees using an abstract interface. 2019-10-01 21:58:15 -04:00
Rob Rix
bf14a4f464
Rename jsonTerm' to jsonTreeTerm. 2019-10-01 21:54:29 -04:00
Rob Rix
c0278a970b
Factor the JSON renderer into jsonDiff. 2019-10-01 21:53:30 -04:00
Rob Rix
bda1269c76
Render diffs to DOT graphs using an abstract interface. 2019-10-01 21:50:47 -04:00
Rob Rix
cc77d7bf17
Render diffs to s-expressions using an abstracted interface. 2019-10-01 21:48:22 -04:00
Rob Rix
868bde86c1
🔥 the CanDiff constraint synonym in favour of DiffActions. 2019-10-01 21:45:37 -04:00
Rob Rix
972653aef2
Show diffs via an abstracted interface. 2019-10-01 21:44:25 -04:00
Rob Rix
bc13823887
Don’t pass the BlobPair to the render function. 2019-10-01 21:43:00 -04:00
Rob Rix
64c2287874
Move the BlobPair to the final position. 2019-10-01 21:35:45 -04:00
Rob Rix
05103d8324
Reformat the doDiff signature. 2019-10-01 21:33:43 -04:00
Rob Rix
6050f10ecf
🔥 redundant parens. 2019-10-01 21:29:42 -04:00
Rob Rix
fdb6d96ab5
Use a class to constrain diffable terms. 2019-10-01 21:23:44 -04:00
Timothy Clem
6488e6e5b1 Thanks @patrickt 2019-10-01 15:46:35 -07:00
Patrick Thomson
99683992cf Remove Data.Project.readFile and 🔥 error handling in Graph.
Because `Data.Project.readFile` could throw an `FileNotFound` error
when looking up `Blob` values in a project for a given `File`, the
code that kicks off graphing required an error constraint. Turns out
we don't even need it: if we have a project, we can access its blobs
directly, since `Blob`s contain `File`s. This allows us to obviate
`Project.readFile` in the first place, which allows us to entirely
sidestep the need to handle errors.
2019-10-01 18:05:47 -04:00
Rob Rix
81847425fa
Rename JSONTerm to JSONTreeTerm. 2019-10-01 17:20:37 -04:00
Timothy Clem
fccbe6aa58 Write out custom To/FromJSON instances 2019-10-01 14:17:18 -07:00
Rob Rix
2034359841
Resume grouping the constraints up. 2019-10-01 17:15:27 -04:00
Rob Rix
f644a452b2
Export less. 2019-10-01 17:04:51 -04:00
Rob Rix
f9e05fc234
🔥 a redundant language extension. 2019-10-01 16:11:19 -04:00
Rob Rix
7b256bffef
Define a ShowTerm instance for precise Python terms. 2019-10-01 16:03:41 -04:00
Rob Rix
235b2e868b
Abstract doParse over the constraints. 2019-10-01 16:03:26 -04:00
Rob Rix
aab52d5e36
🔥 redundant parens. 2019-10-01 15:43:36 -04:00
Rob Rix
3c37459f31
Spacing. 2019-10-01 15:41:50 -04:00
Rob Rix
50105fd525
Express all the necessary constraints over terms, not syntax. 2019-10-01 15:39:50 -04:00
Rob Rix
51dbc97226
Abstract rendering terms to JSON graphs. 2019-10-01 15:36:36 -04:00
Rob Rix
9d4b7cec29
Use the abstract interface for timing. 2019-10-01 15:33:58 -04:00
Rob Rix
bf26428ac0
Abstract JSON term serialization. 2019-10-01 15:33:15 -04:00
Rob Rix
897304ce03
Use the abstract definitions directly. 2019-10-01 15:27:45 -04:00
Rob Rix
c6cfa944d4
Use the abstracted definitions. 2019-10-01 15:25:01 -04:00
Rob Rix
97400fba94
Define a class abstracting DOT graphing. 2019-10-01 15:24:21 -04:00
Rob Rix
0cc79bb866
Define a class abstract s-expression serialization. 2019-10-01 15:23:13 -04:00
Rob Rix
2f77374b9b
Define a class abstracting term showing. 2019-10-01 15:21:58 -04:00
Rob Rix
12a07c252b
Factor the parse out of dotGraphTerm. 2019-10-01 15:15:53 -04:00
Rob Rix
8c6bf14d8f
Factor the parse out of showTerm. 2019-10-01 15:13:34 -04:00
Rob Rix
41a61e37ad
Specialize sexpTerm to Term. 2019-10-01 15:11:49 -04:00
Rob Rix
197ffdd404
Refactor sexpTerm to eliminate the parse. 2019-10-01 15:09:22 -04:00
Rob Rix
e727b3c81b
Eliminate the terms directly in doParse. 2019-10-01 15:05:19 -04:00
Rob Rix
19ac4d2c9a
Align the blobs. 2019-10-01 15:02:09 -04:00
Rob Rix
6f5e2ff8e4
Eliminate the term directly in doParse. 2019-10-01 15:00:33 -04:00
Rob Rix
a060a15d43
Align all the blobs. 2019-10-01 14:56:36 -04:00
Rob Rix
710173303e
Reformat the doParse signature. 2019-10-01 14:54:49 -04:00
Timothy Clem
cba98ae288 Try out manually defining json instances 2019-10-01 10:43:37 -07:00
Rob Rix
5e1b21c773
Export ToSExpression. 2019-10-01 13:00:38 -04:00
Rob Rix
13e3788422
Reformat the signature for doParse. 2019-10-01 12:53:47 -04:00
Rob Rix
02f46c650d
Define TermConstraints as a class. 2019-10-01 12:52:42 -04:00
Rob Rix
7aaaa6433c
🔥 redundant parens. 2019-10-01 12:47:40 -04:00
Rob Rix
cca474b0e9
🔥 the Declarations1 obligation. 2019-10-01 12:46:43 -04:00
Rob Rix
5c6df16782
Move SomeTerm/withSomeTerm into Semantic.Api.Terms. 2019-10-01 12:45:01 -04:00
Rob Rix
a97e42a19e
Simplify the Traversable obligation down to just Foldable/Functor. 2019-10-01 12:42:56 -04:00
Rob Rix
5de3d14bcc
🔥 the HasTextElement & Taggable obligations from TermConstraints. 2019-10-01 12:39:55 -04:00
Rob Rix
05e0086c82
Factor out the term construction. 2019-10-01 12:38:59 -04:00
Rob Rix
598dce7fc8
🔥 ParseEffects. 2019-10-01 12:35:06 -04:00
Rob Rix
0f8da488b0
Don’t specialize parseSymbols for the PerLanguageModes. 2019-10-01 12:33:26 -04:00
Rob Rix
152e94a844
doParse handles the PerLanguageModes. 2019-10-01 12:32:13 -04:00
Rob Rix
785d52314a
Copy in our own version of doParse & SomeTerm. 2019-10-01 12:29:56 -04:00
Rob Rix
11091cf249
Generalize renderToSymbols for legacy tagging. 2019-10-01 12:14:40 -04:00
Rob Rix
371e0c0945
renderToSymbols is pure. 2019-10-01 12:11:52 -04:00
Rob Rix
f9c20bc462
Use ToTags for the legacy tagging API as well. 2019-10-01 12:10:51 -04:00
Rob Rix
f092a3017c
Parameterize ALaCarteTerm by the symbols to summarize. 2019-10-01 12:10:38 -04:00
Rob Rix
7259059b51
Combine the code paths. 2019-10-01 12:01:04 -04:00
Rob Rix
44b0614c7d
Define renderToSymbols using renderPreciseToSymbols. 2019-10-01 11:59:26 -04:00
Rob Rix
a43e947104
Render à la carte terms to symbols via ToTags. 2019-10-01 11:58:40 -04:00
Rob Rix
09f95d6cec
Define a helper to provide a ToTags instance for à la carte terms. 2019-10-01 11:58:04 -04:00
Rob Rix
1bc251183e
Generalize renderPreciseToSymbols to any term with a ToTags instance. 2019-10-01 11:57:00 -04:00
Rob Rix
937df795a1
Don’t pass the blob into runTagging. 2019-10-01 11:54:38 -04:00
Rob Rix
de5de5f936
Don’t pass the blob into contextualizing. 2019-10-01 11:51:28 -04:00
Rob Rix
e9fc6122c4
Don’t pass the blob into tagging. 2019-10-01 11:50:30 -04:00
Rob Rix
c0ecbb12b6
🔥 SomeParser.
It’s unused.
2019-10-01 11:31:16 -04:00
Rob Rix
2432ba82b9
Merge branch 'master' into semantic-java 2019-09-30 19:02:50 -04:00
Timothy Clem
7002b3c9d8 Merge remote-tracking branch 'origin/master' into proto-lens 2019-09-30 15:42:45 -07:00
Timothy Clem
c0a53e957d Bump to newer version of proto-lens 2019-09-30 15:26:45 -07:00
Rob Rix
e19dc31c1e
Merge branch 'master' into parse-effect 2019-09-30 18:13:32 -04:00
Rob Rix
ddf5087fe2
📝 the Parse carrier modules. 2019-09-30 18:00:07 -04:00
Rob Rix
5b556eea3f
None of this did either. 2019-09-30 17:38:14 -04:00
Rob Rix
b37a8ae61c
None of this actually needed the TaskSession. 2019-09-30 17:37:07 -04:00
Rob Rix
58f23c0b7f
🔥 the TaskSession. 2019-09-30 17:23:32 -04:00
Rob Rix
6dc389fa34
. 2019-09-30 17:22:43 -04:00
Rob Rix
f1caf6beec
Pass the error up. 2019-09-30 17:20:35 -04:00
Rob Rix
9652ec9734
🔥 the Trace effect. 2019-09-30 17:19:46 -04:00
Rob Rix
b005ffb447
Don’t trace in Parsing.TreeSitter. 2019-09-30 17:14:11 -04:00
Rob Rix
9bd8ab260e
🔥 runAssignment. 2019-09-30 17:06:09 -04:00
Rob Rix
9295789b1d
🔥 a constructor we don’t check for. 2019-09-30 17:02:42 -04:00
Rob Rix
ee01643117
🔥 a bunch of redundant effects from the repl. 2019-09-30 17:00:49 -04:00
Rob Rix
8dcf0bef24
Use the simple carrier in util and the repl. 2019-09-30 16:57:51 -04:00
Rob Rix
afc4e46942
Simplify the simple carrier. 2019-09-30 16:57:42 -04:00
Rob Rix
b1832108ed
🔥 timings for most parsers. 2019-09-30 16:35:40 -04:00
Rob Rix
20e5bdd960
Duplicate the parse carrier. 2019-09-30 16:34:21 -04:00
Rob Rix
a99ef5f855
Rename Semantic.Parse to Control.Carrier.Parse.Measured. 2019-09-30 16:32:50 -04:00
Rob Rix
b783f94a32
Import just the effect where possible. 2019-09-30 16:32:37 -04:00
Rob Rix
d181a6228a
Move the Parse effect into its own module. 2019-09-30 16:26:52 -04:00
Rob Rix
001f47b42d
Stub in a module for the Parse effect. 2019-09-30 16:25:35 -04:00
Rob Rix
dc3a11c9ee
🔥 a redundant constraint. 2019-09-30 16:24:31 -04:00
Rob Rix
74acafecf8
Move the parse effect & carrier into Semantic.Parse. 2019-09-30 16:23:13 -04:00
Rob Rix
43b4de5b37
Simplify the errors helper. 2019-09-30 16:07:43 -04:00
Rob Rix
199372d0f3
Serializing requires only the config. 2019-09-30 16:00:21 -04:00
Rob Rix
e4587c6cb5
Add a Reader effect for the config alone. 2019-09-30 15:56:48 -04:00
Rob Rix
9e183cd46b
Rename TaskEff to TaskC. 2019-09-30 15:54:57 -04:00
Rob Rix
f1b4fa870b
🔥 TaskC. 2019-09-30 15:50:53 -04:00
Rob Rix
ab3d366471
🔥 Task. 2019-09-30 15:49:46 -04:00
Rob Rix
54f1bacbd2
Just call diffTermPair directly. 2019-09-30 15:49:38 -04:00
Rob Rix
6ebfb5c9ac
🔥 runTaskF. 2019-09-30 15:42:01 -04:00
Rob Rix
b5177fc94e
🔥 Serialize. 2019-09-30 15:39:23 -04:00
Rob Rix
17f4226eea
🔥 render. 2019-09-30 15:33:14 -04:00
Rob Rix
884fb7c909
🔥 Render. 2019-09-30 15:30:55 -04:00
Rob Rix
ae40db0ab5
🔥 decorate. 2019-09-30 15:29:10 -04:00
Rob Rix
b298e3a42c
Rearrange slightly. 2019-09-30 15:22:54 -04:00
Rob Rix
c06a7807c7
🔥 Decorate. 2019-09-30 15:22:09 -04:00
Rob Rix
626777b190
Split parsing out of Task. 2019-09-30 15:20:30 -04:00
Rob Rix
08601d17db
Extract errors & runAssignment to the top level. 2019-09-30 14:42:09 -04:00
Patrick Thomson
896024902c
Merge branch 'master' into abolish-the-handle-binary 2019-09-30 14:40:20 -04:00
Rob Rix
af33c0865d
Export the Parse carrier. 2019-09-30 14:35:27 -04:00
Rob Rix
7a7228636e
🔥 redundant constraints. 2019-09-30 14:32:55 -04:00
Rob Rix
7c91a7d08f
Define a parse carrier. 2019-09-30 14:29:39 -04:00
Rob Rix
856189ed15
Define a smart constructor for parse. 2019-09-30 14:28:40 -04:00
Rob Rix
bba02fe178
Define an Effect instance for Parse. 2019-09-30 14:27:31 -04:00
Rob Rix
fca3027fc7
Define an HFunctor instance for Parse. 2019-09-30 14:27:24 -04:00
Rob Rix
ef05ef941a
Derive a Functor instance for Parse. 2019-09-30 14:27:15 -04:00
Rob Rix
a91b6c1e49
Define a Parse effect. 2019-09-30 14:27:07 -04:00
Rob Rix
1dbc84d122
Stub in a module for a parse effect. 2019-09-30 14:25:51 -04:00
Rob Rix
90306d439c
Merge branch 'master' into semantic-java 2019-09-30 14:21:13 -04:00
Rob Rix
fb1e99e6a7
📝 the Send/Call thing. 2019-09-30 14:03:46 -04:00
Patrick Thomson
d7b76d3be4 Don't set the handles to binary mode. 2019-09-29 18:57:35 -04:00
Rob Rix
76cb8480a0
Use the correct parser. 2019-09-27 19:51:45 -04:00
Rob Rix
f03000a6fb
Generalize renderPreciseToSymbols. 2019-09-27 19:42:37 -04:00
Timothy Clem
c0cce3b13b First pass at switching from proto3 to proto-lens 2019-09-27 16:42:12 -07:00
Rob Rix
9585226bb7
Add precise tagging support for Java. 2019-09-27 19:09:09 -04:00
Rob Rix
c81f9660f4
Define a precise Java parser. 2019-09-27 19:08:14 -04:00
Rob Rix
5db7c6a6ee
Rename the import of Language.Python. 2019-09-27 19:07:05 -04:00
Rob Rix
ac0f15103f
Add a field for a Java mode. 2019-09-27 19:06:19 -04:00
Rob Rix
1ec65b4858
Define a constructor for the default language modes. 2019-09-27 19:02:14 -04:00
Rob Rix
a415d856d7
Merge branch 'master' into semantic-tags 2019-09-27 17:31:26 -04:00
Patrick Thomson
65060868bc Make benchmarks operate and switch to gauge.
I find myself wanting to benchmark some I/O code, so I decided to look
at our benchmark suite, to find that it had bitrotted somewhat. This
patch brings it back up to working status, switches to `gauge` (which
is more accurate than `criteron` and incurs fewer dependencies), and
sprinkles some typed paths on there.
2019-09-27 13:18:30 -04:00
Rob Rix
cf1320586d
🔥 Data.Tag. 2019-09-27 12:04:24 -04:00
Rob Rix
b99366fc37
Tag using the precise AST when requested. 2019-09-27 11:56:45 -04:00
Rob Rix
e25d5e1d7d
Perform renderToSymbols out of the monad. 2019-09-27 11:53:31 -04:00
Rob Rix
958c66a275
Use Tags.Tag. 2019-09-27 11:49:16 -04:00
Rob Rix
3659912e41
Tags always have a line. 2019-09-27 11:34:08 -04:00
Rob Rix
65eed49ecc
slice/firstLine are total. 2019-09-27 11:33:13 -04:00
Rob Rix
bbb583de55
ContextTokens always have Ranges. 2019-09-27 11:30:33 -04:00
Rob Rix
376ea3e165
Tokens always have Ranges. 2019-09-27 11:28:14 -04:00
Rob Rix
53f3e5e9cc
🔥 the context field from Data.Tag.Tag. 2019-09-27 11:17:41 -04:00
Rob Rix
ed85a4483f
🔥 the HasSpan instance for Tag. 2019-09-27 11:16:14 -04:00
Rob Rix
7406910b4a
🔥 the ToJSON instance for Tag. 2019-09-27 11:15:26 -04:00
Rob Rix
661e582794
Pull symbolsToSummarize & tagToSymbol out to the top level. 2019-09-27 11:00:48 -04:00
Rob Rix
4a1b8e80c0
Reformat slightly. 2019-09-27 10:59:55 -04:00
Rob Rix
cf940ff595
precisePythonParser produces a Py.Term. 2019-09-27 10:53:26 -04:00
Rob Rix
9b704006b4
🔥 an obsolete pragma. 2019-09-27 10:49:20 -04:00
Rob Rix
3fafa4f556
Tidy up with type applications. 2019-09-27 10:45:59 -04:00
Rob Rix
6a40b9a6cd
🔥 a redundant Element constraint. 2019-09-27 10:45:12 -04:00
Rob Rix
0c3e754eea
Alignment. 2019-09-27 10:43:31 -04:00
Rob Rix
e84da318a3
🔥 ApplyAll'. 2019-09-27 10:43:11 -04:00
Rob Rix
ed7d152169
Use the shared blobLanguage computation. 2019-09-27 10:41:22 -04:00
Rob Rix
6538f4d885
Revert "Bring the language modes into scope."
This reverts commit 8ca3d7b277.
2019-09-27 10:40:37 -04:00
Rob Rix
3058646b44
Update for * -> * Unmarshal. 2019-09-27 10:36:56 -04:00
Rob Rix
fe349fc3f0
Merge branch 'master' into semantic-tags 2019-09-27 10:00:56 -04:00
Rob Rix
374dae0229
🔥 a redundant language extension. 2019-09-27 09:57:12 -04:00
Timothy Clem
15cd4857ce Remove FILE:LANG argument from CLI 2019-09-26 14:17:24 -07:00
Rob Rix
8ca3d7b277
Bring the language modes into scope. 2019-09-26 14:04:46 -04:00
Rob Rix
3c564eb7a5
Add a FIXME. 2019-09-26 13:51:33 -04:00
Rob Rix
a17a53fb19
Turn off orphan instance warnings in Parsing.Parser. 2019-09-26 13:50:58 -04:00
Rob Rix
f4d89746d1
Define a precise Python parser. 2019-09-26 13:50:20 -04:00
Rob Rix
ead0253c73
Define orphan Unmarshal instances for Loc, Span, and Range. 2019-09-26 13:49:45 -04:00
Rob Rix
94f6f8e29f
Define an UnmarshalParser constructor. 2019-09-26 13:27:19 -04:00
Rob Rix
957f8abdd4
Add a helper to parse to precise ASTs. 2019-09-26 13:24:24 -04:00
Rob Rix
8210639d35
Allow the action to report failures. 2019-09-26 13:23:49 -04:00
Rob Rix
a74490cc15
Factor the conditional leftward. 2019-09-26 13:03:40 -04:00
Rob Rix
07ddc7699e
Kleisli composition. 2019-09-26 12:58:40 -04:00
Rob Rix
d4eefbf04b
Factor the action-agnostic portion of parseToAST into a runParse function. 2019-09-26 12:57:15 -04:00
Rob Rix
661805e6da
withRootNode already copies into the pointer. 2019-09-26 12:54:20 -04:00
Rob Rix
7c40ca0753
Correct the docs for parseToAST. 2019-09-26 12:51:10 -04:00
Rob Rix
81fca0f6bb
🔥 runParserToAST. 2019-09-26 12:50:35 -04:00
Rob Rix
3f4c89d09b
Return errors from runParseToAST. 2019-09-26 12:47:33 -04:00
Rob Rix
2745c69aa1
Rely on the TS definition of withParser. 2019-09-26 12:45:50 -04:00
Rob Rix
c399f0d637
Use withParser to define parseToAST. 2019-09-26 12:35:21 -04:00
Rob Rix
b563f20edb
Define a helper to run an action with a parser. 2019-09-26 12:25:22 -04:00
Rob Rix
0b0b2ef427
🔥 Result. 2019-09-26 12:20:25 -04:00
Rob Rix
aafe9f47bc
Reformat an if statement. 2019-09-26 12:19:02 -04:00
Rob Rix
1a05c46bf0
Dedent. 2019-09-26 12:17:59 -04:00
Rob Rix
c8baf4a4ba
🔥 more do blocks. 2019-09-26 12:17:50 -04:00
Rob Rix
fc6d4091d6
Spacing. 2019-09-26 12:17:18 -04:00
Rob Rix
70c9b865f0
🔥 redundant do blocks. 2019-09-26 12:16:45 -04:00
Rob Rix
726329d659
Rename runParser to runParserToAST. 2019-09-26 12:16:05 -04:00
Rob Rix
a05f91cede
Pass the language mode around with a Reader effect. 2019-09-25 11:55:31 -04:00
Rob Rix
44f9a11a62
Define a helper to look up the mode for a given language. 2019-09-25 11:48:07 -04:00
Rob Rix
b394bcd816
Pass the modes to parseSymbols. 2019-09-25 11:46:16 -04:00
Rob Rix
10093b1088
Pass the language modes to parseTermBuilder. 2019-09-25 11:43:17 -04:00
Rob Rix
f68c710a58
Pass the language modes to parseSymbolsBuilder. 2019-09-25 11:42:14 -04:00
Rob Rix
d066b31081
Fix the help text for the protobuf symbols output. 2019-09-25 11:38:42 -04:00
Rob Rix
b6ca57e87a
Combine the flags for JSON symbols output. 2019-09-25 11:38:24 -04:00
Rob Rix
58c5eac144
Rename the language mode types. 2019-09-25 11:34:08 -04:00
Rob Rix
d773ca8282
Move LanguageModes & ASTMode into Data.Language. 2019-09-25 11:32:57 -04:00
Rob Rix
95b83e983c
🔥 the completer.
It doesn’t seem to work anyway.
2019-09-25 11:20:38 -04:00
Rob Rix
ea6184367b
Reformat the Python mode parser. 2019-09-25 11:20:21 -04:00
Rob Rix
c7b611cc52
Define an option for the Python mode. 2019-09-25 11:19:42 -04:00
Rob Rix
2b650143cb
Derive Bounded & Enum instances for ASTMode. 2019-09-25 11:19:36 -04:00
Rob Rix
a20063353e
Derive a Read instance for ASTMode. 2019-09-25 10:48:38 -04:00
Rob Rix
fc153ec593
Define a datatype representing the selection of a mode for a given language. 2019-09-25 10:38:22 -04:00
Rob Rix
5f449f479e
Define a datatype representing the types of ASTs we can operate over. 2019-09-25 10:38:06 -04:00
Rob Rix
7ca39de45d
Merge branch 'master' into semantic-tags 2019-09-25 10:10:27 -04:00
Rob Rix
19e9d7f61b
Reformat the parse command flags. 2019-09-25 10:09:59 -04:00
Patrick Thomson
c0ba458d54
Merge branch 'master' into more-path-safety 2019-09-24 18:16:27 -04:00
Patrick Thomson
fa1f07bb1e remove unnecessary Path.toString call 2019-09-24 17:49:32 -04:00
Patrick Thomson
9a6185e095 Make readBlobsFromDir use a typed path. 2019-09-24 17:03:45 -04:00
Timothy Clem
46fa12303b Include real build sha in production logs 2019-09-24 13:23:37 -07:00
Patrick Thomson
a96a0e105a Revert "Remove special case from Files.readBlobs."
This reverts commit 6fe879d908.
2019-09-24 01:18:13 -04:00
Patrick Thomson
6fe879d908 Remove special case from Files.readBlobs. 2019-09-24 01:17:11 -04:00
Patrick Thomson
bcedb937db
Merge branch 'master' into speed-up-foldMapA 2019-09-21 08:56:52 -04:00
Rob Rix
918bfb4e24
Apparently this should not exist. 2019-09-20 17:56:29 -04:00
Rob Rix
52bc7e640e
Rename locByteRange/locSpan to byteRange/span. 2019-09-20 17:32:52 -04:00
Rob Rix
955174211c
Use point to define emptyTerm. 2019-09-20 17:04:03 -04:00
Rob Rix
0312300a40
Rename the spanStart/spanEnd fields to start/end. 2019-09-20 16:59:04 -04:00
Patrick Thomson
56e0c27846 Stray whitespace. 2019-09-20 16:52:34 -04:00
Patrick Thomson
aa61e7f565 We don't even need to define our own #. 2019-09-20 16:50:25 -04:00
Patrick Thomson
803817bc92 Whoops, forgot a plugin entry. 2019-09-20 16:47:07 -04:00
Rob Rix
7d1567e70a
🔥 a bunch of redundant hidden imports. 2019-09-20 16:45:12 -04:00
Patrick Thomson
8bf42329a4 Speed up foldMapA.
Some research in https://github.com/fused-effects/diffused-effects/pull/1
revealed that GHC sometimes fails to optimize newtype-unwrappers of
the foldMapA style sufficiently, and that you get better Core if you
rub some `coerce` on it. Since we use `foldMapA` in a lot of places,
this should have a positive impact.
2019-09-20 16:44:44 -04:00
Rob Rix
d59a44bc69
Rename the HasSpan span lens to span_. 2019-09-20 16:43:12 -04:00
Rob Rix
1e6ebd21a3
Rename posLine/posColumn to line/column. 2019-09-20 16:36:36 -04:00
Rob Rix
a00a78e522
Merge branch 'master' into semantic-source 2019-09-20 16:16:34 -04:00
Patrick Thomson
86682d8cfe De-suffix sourceBytes. 2019-09-20 16:03:45 -04:00
Patrick Thomson
f0567fdd20 De-suffix dropSource and takeSource. 2019-09-20 15:56:43 -04:00
Patrick Thomson
a422061bbd Delete Data.Source. 2019-09-20 15:52:00 -04:00
Patrick Thomson
7b599a6499 Use Source.Source instead of Data.Source. 2019-09-20 15:51:49 -04:00
Patrick Thomson
948deb489f Fixup remaining test cases. 2019-09-20 15:47:08 -04:00
Patrick Thomson
d929a8c78a Make Data.Source reexport Source.Source. 2019-09-20 15:39:39 -04:00
Rob Rix
f6e4864836
Move the span/range stuff into CMark. 2019-09-20 15:03:26 -04:00
Rob Rix
0f8e69c72f
Switch everything over to using Source.Loc. 2019-09-20 14:51:48 -04:00
Rob Rix
17c61c19d1
Switch everything over to using Source.Span. 2019-09-20 14:38:03 -04:00
Rob Rix
1d5e15010f
Switch everything over to using Source.Range. 2019-09-20 14:28:25 -04:00
Rob Rix
81f43c9881
Move the ToJSONFields instance for Location into Data.JSON.Fields. 2019-09-20 14:08:41 -04:00
Patrick Thomson
6f525467c8
Merge branch 'master' into typed-paths 2019-09-20 13:00:55 -04:00
Patrick Thomson
2e7a236f82 Fix weird spacing and overly complicated callGraphPythonProject. 2019-09-20 12:41:05 -04:00
Patrick Thomson
090b014eed Remove filepath dependency from tests. 2019-09-20 12:26:49 -04:00
Rob Rix
10e4bbb5a6
Move the ToJSONFields instance for Span into Data.JSON.Fields. 2019-09-20 12:18:56 -04:00
Rob Rix
5802d4678d
Move the ToJSONFields instance for Range into Data.JSON.Fields. 2019-09-20 12:18:48 -04:00
Patrick Thomson
1cc29f4361 Add Data.BLob.fileForRelPath and avoid early toString calls. 2019-09-20 12:02:41 -04:00
Patrick Thomson
9c957cdfff
Merge branch 'master' into fixed-range-ord-instance 2019-09-20 11:13:22 -04:00
Rob Rix
2ec2461bcd
🔥 intersectsRange. 2019-09-20 08:54:36 -04:00
Rob Rix
775f6a131c
🔥 offsetRange. 2019-09-20 08:53:16 -04:00
Rob Rix
7bb8fe4aaf
Derive the Ord instance for Range. 2019-09-20 08:52:36 -04:00
Patrick Thomson
373057e7fd Revert to old way of parsing call_signature nodes.
Fixes #256.
2019-09-19 17:51:16 -04:00
Rob Rix
7eb8beb3b0
Revert "Export subtractLocation."
This reverts commit d7cc25fcf5.
2019-09-18 13:01:39 -04:00
Rob Rix
4fe75d87a4
🔥 the default definitions for Taggable since they’d always be wrong. 2019-09-18 13:00:52 -04:00
Rob Rix
586db55ab3
Correct the docs. 2019-09-18 12:57:21 -04:00
Rob Rix
865f0e4c2d
Switch over to the advanced overlap mechanism for Taggable instances. 2019-09-18 12:56:48 -04:00
Rob Rix
385bc2bf4d
Define the rest of the custom TaggableBy instances. 2019-09-18 12:53:30 -04:00
Rob Rix
975d894339
Define a custom TaggableBy instance for Syntax.Context. 2019-09-18 12:50:41 -04:00
Rob Rix
05c1a724ab
Define a custom TaggableBy instance for TermF. 2019-09-18 12:49:30 -04:00
Rob Rix
3ea6914128
Define a custom TaggableBy instance for Sum. 2019-09-18 12:47:26 -04:00
Rob Rix
94b715383c
Move the default definitions into TaggableBy. 2019-09-18 12:44:41 -04:00
Rob Rix
5b261b5ffd
Define a default TaggableBy instance. 2019-09-18 12:44:02 -04:00
Rob Rix
8756897833
Stub in a type family for selecting a Strategy. 2019-09-18 12:43:54 -04:00
Rob Rix
dc3774047d
Define an advanced-overlappable Taggable class. 2019-09-18 12:41:22 -04:00
Rob Rix
d3a462aaf7
Use the constraint synonym. 2019-09-18 12:39:49 -04:00
Rob Rix
d4773d2431
🔥 a redundant Traversable constraint. 2019-09-18 12:39:01 -04:00
Rob Rix
222aff395e
🔥 Show1 as a superclass of Taggable. 2019-09-18 12:37:46 -04:00
Rob Rix
eb2c17be38
🔥 Traversable as a superclass of Taggable. 2019-09-18 12:36:37 -04:00
Rob Rix
6ca0fd8e9d
🔥 redundant constraints. 2019-09-18 12:29:56 -04:00
Rob Rix
662a324061
🔥 redundant language extensions. 2019-09-18 12:28:00 -04:00
Rob Rix
9da576ecdc
Revert "Factor the Taggable instances for TSX/TypeScript into the syntax modules."
This reverts commit de9b171d55.
2019-09-18 12:21:51 -04:00
Rob Rix
962f46db48
Revert "Move the Taggable instances for Data.Syntax out."
This reverts commit a30be6b59c.
2019-09-18 12:21:46 -04:00
Rob Rix
f017e4ac7c
Revert "Move the Taggable instances for Data.Syntax.Type out."
This reverts commit d35321cb70.
2019-09-18 12:21:43 -04:00
Rob Rix
efa83c3036
Revert "Move the Taggable instances for Data.Syntax.Comment out."
This reverts commit 211e2754d0.
2019-09-18 12:21:39 -04:00
Rob Rix
9e20ab8fc4
Revert "Move the Taggable instances for Markdown out."
This reverts commit 08108c9a92.
2019-09-18 12:21:36 -04:00
Rob Rix
399799bedd
Revert "Move the Taggable instances for PHP out."
This reverts commit f560f70403.
2019-09-18 12:21:32 -04:00
Rob Rix
decc1baf6f
Revert "Move the Taggable instances for Java out."
This reverts commit 8a5a89d779.
2019-09-18 12:21:22 -04:00
Rob Rix
eb79d45af1
Revert "Move the Taggable instances for Haskell out."
This reverts commit 1ba6f0acd8.
2019-09-18 12:21:20 -04:00
Rob Rix
2542157dd5
Revert "Move the Taggable instances for Directive out."
This reverts commit 108c063cab.
2019-09-18 12:21:17 -04:00
Rob Rix
e45a0ce803
Revert "Move the Taggable instances for Go out."
This reverts commit 5373d4c509.
2019-09-18 12:21:15 -04:00
Rob Rix
7d61f208b2
Revert "Move the Taggable instances for Python out."
This reverts commit 6ce8f998db.
2019-09-18 12:21:12 -04:00
Rob Rix
b43d32ee59
Revert "Move the Taggable instances for Statements out."
This reverts commit d62fa2381e.
2019-09-18 12:21:09 -04:00
Rob Rix
d62fa2381e
Move the Taggable instances for Statements out. 2019-09-18 12:19:11 -04:00
Rob Rix
6ce8f998db
Move the Taggable instances for Python out. 2019-09-18 12:17:35 -04:00
Rob Rix
5373d4c509
Move the Taggable instances for Go out. 2019-09-18 12:15:21 -04:00
Rob Rix
108c063cab
Move the Taggable instances for Directive out. 2019-09-18 12:13:03 -04:00
Rob Rix
1ba6f0acd8
Move the Taggable instances for Haskell out. 2019-09-18 12:12:26 -04:00
Rob Rix
8a5a89d779
Move the Taggable instances for Java out. 2019-09-18 12:07:50 -04:00
Rob Rix
f560f70403
Move the Taggable instances for PHP out. 2019-09-18 12:05:05 -04:00
Rob Rix
08108c9a92
Move the Taggable instances for Markdown out. 2019-09-18 11:59:59 -04:00
Rob Rix
211e2754d0
Move the Taggable instances for Data.Syntax.Comment out. 2019-09-18 11:39:11 -04:00
Rob Rix
d35321cb70
Move the Taggable instances for Data.Syntax.Type out. 2019-09-18 11:38:28 -04:00
Rob Rix
a30be6b59c
Move the Taggable instances for Data.Syntax out. 2019-09-18 11:36:54 -04:00
Rob Rix
de9b171d55
Factor the Taggable instances for TSX/TypeScript into the syntax modules. 2019-09-18 11:32:44 -04:00
Rob Rix
d7cc25fcf5
Export subtractLocation. 2019-09-18 11:31:04 -04:00
Patrick Thomson
c237f26b58
Update src/Language/TypeScript/Assignment.hs
Co-Authored-By: Rob Rix <robrix@github.com>
2019-09-18 09:39:13 -04:00
Patrick Thomson
058462adf5 Merge remote-tracking branch 'origin/master' into bump-to-tree-sitter-0.2.1 2019-09-17 16:17:43 -04:00
Patrick Thomson
abaf6d9f43 Restore ThisType's presence in the list and spruce up TSX function detection 2019-09-17 15:44:46 -04:00
Patrick Thomson
11d9eccbd1 Revert "No more ThisType in Typescript grammar"
This reverts commit 05319f0b78.
2019-09-17 15:35:32 -04:00
Patrick Thomson
6433f41991 match GeneratorFunctionDeclaration 2019-09-17 15:33:39 -04:00
Patrick Thomson
81348102a2 Fix bugs with spurious children calls in method/class definition 2019-09-17 15:27:03 -04:00
Patrick Thomson
41c88d4255 Remove buggy children 2019-09-17 15:00:10 -04:00
Patrick Thomson
6a7e72bcba Remove debug printfs and silence a hedgehog error. 2019-09-17 14:49:16 -04:00
Patrick Thomson
2c3a78825e Remove detritus from ifStatement 2019-09-17 14:42:56 -04:00
Patrick Thomson
8217bcc347 Fix communicationClause folderol 2019-09-17 14:36:03 -04:00
Patrick Thomson
b329d81e12 Children without a symbol rule is usually a bug. 2019-09-17 14:19:13 -04:00
Patrick Thomson
02f3f375c3 Don't serve Java over the API. 2019-09-17 12:30:40 -04:00
Patrick Thomson
f0a34778ad Remove Java from AST parser plumbing 2019-09-17 12:29:00 -04:00
Patrick Thomson
d48816c74d IfInitializer went away 2019-09-17 12:27:31 -04:00
Patrick Thomson
e3b0b65a87 TypeCaseClause seems (?) to have gone away 2019-09-17 12:26:55 -04:00
Patrick Thomson
3ea0361bb0 CommunicationClause went away 2019-09-17 12:23:38 -04:00
Patrick Thomson
044fbbbc20 ExpressionCaseClause went away 2019-09-17 12:22:35 -04:00
Patrick Thomson
50e3f684ef Remove Go ElseClause 2019-09-17 12:20:34 -04:00
Patrick Thomson
c14354483b Disable Java assignment for now. 2019-09-17 12:17:49 -04:00
Patrick Thomson
11fde99fe4 AbstractClass => AbstractClassDefinition 2019-09-17 12:13:05 -04:00
Patrick Thomson
7d94893bed Don't match CallSignature (TSX). 2019-09-17 12:12:41 -04:00
Patrick Thomson
456cc138f1 Remove anonymousClass (TSX). 2019-09-17 12:11:54 -04:00
Patrick Thomson
022e8217a0 Remove for_of statements. 2019-09-17 12:11:26 -04:00
Patrick Thomson
8026e31c44 Ensure callSignature returns a Term. 2019-09-17 12:11:11 -04:00
Patrick Thomson
7004569d1e CallSignature doesn't have its own symbol anymore. 2019-09-17 12:08:04 -04:00
Patrick Thomson
4e15f289ca AbstractClass -> AbstractClassDeclaration 2019-09-17 12:04:57 -04:00
Patrick Thomson
d9f5c85066 AnonymousClass is now covered under standard class rule. 2019-09-17 12:03:45 -04:00
Patrick Thomson
9d22506544 No more TypeSwitchGuard. 2019-09-17 11:38:17 -04:00
Timothy Clem
05319f0b78 No more ThisType in Typescript grammar 2019-09-17 08:30:20 -07:00
Timothy Clem
fb885ccd1d New flag to log paths 2019-09-16 14:20:05 -07:00
B1nj0y
caf879cf19 Fix a JavaScript import syntax error in comments 2019-09-17 00:49:19 +08:00
Patrick Thomson
6fc97fce21
Update src/Language/Java/Assignment.hs
Parens are not necessary here.

Co-Authored-By: Rob Rix <robrix@github.com>
2019-09-06 13:36:43 -04:00
Patrick Thomson
c623d2906b Assignment error in Java try/catch blocks (#235)
As @tclem pointed out, the TryStatement token was being consumed too
early. We also ran into errors within the `catches` clause where we
required a block but were asking for an expression.
2019-09-06 12:23:55 -04:00
Patrick Thomson
0d78391678
Merge branch 'master' into lingo 2019-08-22 15:18:23 +02:00
Max Brunsfeld
07ccbb8966 Handle JSX elements with type arguments
Also, add a unit test for JSX in JavaScript.

Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2019-08-21 10:31:32 -07:00
Timothy Clem
147604e59d Streamline manually language parsing 2019-08-16 14:06:49 -07:00
Timothy Clem
0aab5ebd55 Replace supportedExts 2019-08-15 15:48:17 -07:00
Timothy Clem
2510df0e23 Switch over to using lingo 2019-08-14 16:01:55 -07:00
Max Brunsfeld
5d62300ba5 Add comment about why JS and JSX are handled with the TSX parser 2019-08-14 10:17:57 -07:00
Max Brunsfeld
233a51cf62 Use TSX parser instead of Typescript parser for JavaScript and JSX 2019-08-14 10:08:25 -07:00
Timothy Clem
77b6b85d49 Properly parse other objects and modes 2019-07-31 09:42:05 -07:00
Timothy Clem
3409779b23 s/OnlyPaths/IncludePaths 2019-07-31 07:37:23 -07:00
Timothy Clem
42028a818f Allow ts-parse command to also accept these 2019-07-30 17:36:25 -07:00
Timothy Clem
2b37bc9312 New options for readBlobsFromGitRepo
Allows specifying only the paths you want to parse in the repo
2019-07-30 17:34:35 -07:00
Rob Rix
b889e41b79
Merge branch 'master' into proto-fixes 2019-07-26 10:08:15 -05:00
Kitten King
2aa6b4a12d
Fix Typos 2019-07-26 03:25:50 +00:00
Timothy Clem
540f0eb76b Revert manual oneof proto edits 2019-07-25 11:28:55 -07:00
Timothy Clem
d8ad7f2b25
Merge branch 'master' into proto-rework 2019-07-16 08:36:39 -07:00
Rob Rix
1dbb44170f
Fix some deprecations &c. 2019-07-15 16:50:06 -04:00
Rob Rix
c9aedbc707
Sort imports. 2019-07-15 15:23:34 -04:00
Rob Rix
b1fe3e6073
🔥 a bunch of redundant imports. 2019-07-15 15:23:29 -04:00
Rob Rix
0ac44393ff
Hide :+:. 2019-07-15 14:54:40 -04:00
Patrick Thomson
3cdfe55b80 Unnecessary use of &. 2019-07-06 13:32:00 -04:00
Patrick Thomson
eefb1d5d36 Stray whitespace change. 2019-07-06 13:28:20 -04:00
Patrick Thomson
5c033973ae Kill unused import. 2019-07-06 13:26:01 -04:00
Patrick Thomson
0749aa1c91 Remove the unused 'analyze'. 2019-07-06 13:24:16 -04:00
Patrick Thomson
7221e71279 Fix Interpose 2019-07-06 12:43:52 -04:00
Patrick Thomson
3438e476ea Fix effects in semantic-core. 2019-07-06 12:35:57 -04:00
Patrick Thomson
f3bc363cad unsuccessful take on Analyze 2019-07-06 12:27:44 -04:00
Patrick Thomson
3af388b633 more monad massages 2019-07-06 12:01:57 -04:00
Patrick Thomson
d01ad24d83 Ditto, but for bitwise functions. 2019-07-06 11:42:53 -04:00
Patrick Thomson
0329984dfa Handle needed changes associated with NumericFunction. 2019-07-06 11:35:19 -04:00
Patrick Thomson
94c8adba23 Fix most effects except Interpose 2019-07-06 11:27:12 -04:00
Patrick Thomson
f401f75303 WIP 2019-07-06 10:52:38 -04:00
Timothy Clem
a48aa65cfc Bring back ping request/response 2019-07-05 15:34:35 -07:00
Timothy Clem
7b44a6a24e Repeatable code gen from proto 2019-07-05 15:11:33 -07:00
Patrick Thomson
23733f9ac9
Merge branch 'master' into php-strict-equal-assignment 2019-07-03 12:07:55 -04:00
Patrick Thomson
cfcd27545d
Merge branch 'master' into php-concat 2019-07-03 11:06:42 -04:00
Patrick Thomson
daacddc5c4
Merge branch 'master' into php-strict-equal-assignment 2019-07-03 11:04:27 -04:00
Kevin Orr
5b5a9965dc [#186] Fix PHP string concatenation and augmented assignment 2019-07-03 09:54:13 -04:00
Kevin Orr
8a6737b079 [#188] Fix PHP strict inequality assignment 2019-07-02 16:38:17 -04:00
Patrick Thomson
785ba4dcea Include vertex IDs in JSON graph output and fix their format.
As reported in #189, the `edges` field of JSON graph output refers to
information not reflected in the rest of the output, specifically the
vertex IDs. This patch adds that information to the `ToJSON` instance
for `ControlFlowVertex`. It also includes a `toEncoding` instance for
a free speed boost.

During this patch, I realized that, because `hash` tends to return a
large number (since `Int` is 64-bit), we may run into errors when
decoding JSON. One example hash is `3500157981503982114`; passing that
to a JS engine's `Number.isSafeInteger` function returns false. The
correct thing to do here is return ids as strings, which I have done.
This is backwards-incompatible, but since this information was never
properly exposed, the impact is negligable.
2019-07-02 11:24:52 -04:00
Josh Vera
3dea3d7e34
Merge branch 'master' into add-php 2019-06-25 15:11:19 -04:00
Patrick Thomson
90fabfe6f5 Fix DiffTreeVertexDiffTerm definition to be a valid protobuf object.
We define the DiffTreeVertex protobuf message like so:

```protobuf
message DiffTreeVertex {
  int32 diff_vertex_id = 1;
  oneof diff_term {
    DeletedTerm deleted = 2;
    InsertedTerm inserted = 3;
    ReplacedTerm replaced = 4;
    MergedTerm merged = 5;
  }
}
```

This is turned into two Haskell types, a toplevel `DiffTreeVertex` type
and a `DiffTreeVertexDiffTerm` type that represents the anonymous
`oneof` type. Said types looked like so:

```haskell
data DiffTreeVertexDiffTerm
  = Deleted (Maybe DeletedTerm)
  | Inserted (Maybe InsertedTerm)
  | Replaced (Maybe ReplacedTerm)
  | Merged (Maybe MergedTerm)
  deriving stock (Eq, Ord, Show, Generic)
  deriving anyclass (Proto3.Message, Proto3.Named, NFData)
```

This is the wrong representation, as it neglects to account for the
fact that options could be added to the `diff_term` stanza. A sum type
does not provide enough constructors to handle the case of when none
of `deleted`, `inserted`, `replaced` etc. is `Just` anything. A more
correct definition follows:

```haskell
data DiffTreeVertexDiffTerm = DiffTreeVertexDiffTerm
  { deleted :: Maybe DeletedTerm
  , inserted :: Maybe InsertedTerm
  , replaced :: Maybe ReplacedTerm
  , merged :: Maybe MergedTerm
  }
```

This patch applies the above change, using `-XPatternSynonyms` to
provide backwards-compatible API shims. Though this changes JSON
output format (through the `ToJSON` instance), it should have no
bearing on backwards compatibility in protobuf objects, since there is
no way to consume diff trees as protobufs as of this writing.

Fixes #168.
2019-06-25 13:31:36 -04:00
Josh Vera
3daee383dc
Merge branch 'master' into add-php 2019-06-25 12:28:25 -04:00
joshvera
6863168acb Add phpt to extensionsForLanguage 2019-06-25 11:01:02 -04:00
joshvera
f911766986 Add phpASTParser 2019-06-25 10:35:56 -04:00
joshvera
cc4cc62411 Assign FormalParameters in parameters 2019-06-25 10:35:44 -04:00
joshvera
275de222de Add php to code nav languages 2019-06-24 17:33:03 -04:00
Gus Caplan
c5dfb7f374
Add .mjs as extension for JavaScript 2019-06-22 19:53:43 -05:00
Rob Rix
8cd44aa5fa
Merge branch 'master' into update-php-assignment 2019-06-21 09:59:15 -04:00
Rick Winfrey
4fdcef9822
Merge branch 'master' into update-php-assignment 2019-06-20 17:37:41 -07:00
Rick Winfrey
1d03fae11d Add PHP to supportedExts and codeNavLanguages 2019-06-20 17:30:10 -07:00
Rick Winfrey
f793346895 Match FormalParameter symbol 2019-06-20 11:42:37 -07:00
Patrick Thomson
dd8446c909 Drop the transformers dependency. 2019-06-20 14:13:54 -04:00
Patrick Thomson
b1a2b85d87 Merge remote-tracking branch 'origin/master' into machines-to-streaming 2019-06-20 14:09:39 -04:00
Patrick Thomson
9f20899d85 Can't eliminate MTL yet, but we can minimize it. 2019-06-20 14:02:12 -04:00
Patrick Thomson
0564b9d36c Eliminate mtl dependency. 2019-06-20 13:50:50 -04:00
Patrick Thomson
2cefe29fbc no partial type sigs necessary 2019-06-20 12:58:16 -04:00
Rob Rix
16d553167e
Revert "Add a little lambda calculus to toy with."
This reverts commit 50813fd5047ad648c9169d03f238687a56ffec3c.
2019-06-20 10:54:03 -04:00
Rob Rix
ccf8e1a7b9
Add a little lambda calculus to toy with. 2019-06-20 10:54:03 -04:00
Rob Rix
610acb7380
Indent/newline. 2019-06-20 10:54:03 -04:00
Rob Rix
1a1bfc3ca7
Generalize the Custom strategy over any Show-able type. 2019-06-20 10:54:03 -04:00
Rob Rix
bb54b3094d
Serialize field metadata. 2019-06-20 10:54:03 -04:00
Rob Rix
caeff71a33
Serialize fields. 2019-06-20 10:54:02 -04:00
Rob Rix
50b9298457
Serialize unit constructors. 2019-06-20 10:54:02 -04:00
Rob Rix
8e98f7eaed
Use advanced overlap to accommodate customizing for Text fields. 2019-06-20 10:54:02 -04:00
Rob Rix
b1d632fb2d
Serialize products. 2019-06-20 10:54:02 -04:00
Rob Rix
ca3101d432
Serialize sums. 2019-06-20 10:54:02 -04:00
Rob Rix
d15b031285
Prepend constructor names. 2019-06-20 10:54:01 -04:00
Rob Rix
4452c89a06
Serialize D1. 2019-06-20 10:54:01 -04:00
Rob Rix
0f54a5c506
Stub in a serialization class for generics over precise ASTs. 2019-06-20 10:54:01 -04:00
Rob Rix
a483615f21
Stub in a module for generic s-expression serialization of precise ASTs. 2019-06-20 10:53:48 -04:00
Patrick Thomson
40e5adfdb0 Further simplifications. 2019-06-20 10:37:02 -04:00
Patrick Thomson
17407c0c9d Initial port from machines to streaming. 2019-06-20 09:41:27 -04:00
Patrick Thomson
6306f07cc1 Better story for handling JSON exceptions. 2019-06-19 17:14:52 -04:00
Patrick Thomson
8ae90e53c5 Quiet debug spew in specs.
This console barf makes reading though backscrolls unpleasant. Using
Shelly rather than an abomination of a `system` call and adding a
helper function to parse files quietly improved the situation greatly.

This also contains changes to Util that make the file significantly
easier to navigate, thanks to the power of `PartialTyepSignatures`.

Fixes #140.
2019-06-19 12:09:37 -04:00
Jan Hrček
915937c4be Fix some hlint warnings 2019-06-16 13:40:13 +02:00
Jan Hrček
8959d4d1d6 Fix -Wdodgy-imports warnings 2019-06-14 15:46:06 +02:00
Weerasak Chongnguluam
da56c8b8a5 Remove unused RankNTypes extension 2019-06-14 13:39:00 +07:00
Patrick Thomson
0c639db9c4 And these named fields. 2019-06-13 14:38:08 -04:00
Patrick Thomson
c368c43dce 🔥 Finite instance. 2019-06-13 14:21:27 -04:00
Patrick Thomson
838f09e31c Remove HasDefault and Primitive instances for Language.
Those instances are handled by the bridged data types in `Semantic.Api`.
Keeping this around is both unnecessary and is making #139 go all
wobbly for reasons that are still unclear to me.
2019-06-13 14:14:57 -04:00