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
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
Patrick Thomson
aa02a62f76
Merge branch 'master' into gitparsing 2019-06-10 12:19:37 -04:00
lalaition
e4319224e3 Cleaned up parser 2019-06-09 14:11:58 -06:00
joshvera
bf75070b98 remove TSX.Resolution 2019-06-07 12:46:25 -04:00
lalaition
28c26d015e Run stylish-haskell on changes, again 2019-06-06 21:25:47 -06:00
lalaition
be96fcf52f Refactored code to be in line with suggestions 2019-06-06 21:24:22 -06:00
joshvera
72b04d7c9c bring this Go assignment back 2019-06-06 18:57:35 -04:00
joshvera
6b13145862 Move jsxElements out of TypeScript grammar
Also removes typeAssertion from TSX grammar
2019-06-06 16:37:29 -04:00
joshvera
a8a36adc81 Merge remote-tracking branch 'origin/master' into typescript-mapped-types 2019-06-06 15:27:59 -04:00
lalaition
0abcac73b8 Run stylish-haskell on changes 2019-06-05 20:11:40 -06:00
lalaition
2ba61a21a0 Use Attoparsec to parse git output instead of manually splitting Text 2019-06-05 20:07:48 -06:00
Rob Rix
87209d3eee
🔥 MiniPython & MiniRuby. 2019-06-05 17:05:14 -04:00
Rob Rix
7fc70fdd59
Nest lets. 2019-06-05 16:43:21 -04:00
Rob Rix
26cd38f45d
Don’t double-nest Statements. 2019-06-05 16:42:58 -04:00
Rob Rix
16f6c72b19
Use makeTerm'' instead of mk. 2019-06-05 16:21:45 -04:00
Rob Rix
7ecebae144
Try harder to deal with blocks and things. 2019-06-05 16:20:31 -04:00
Rob Rix
3ea0bd957c
Add a rule to always insert nodes for blocks. 2019-06-05 16:20:12 -04:00
Rob Rix
669ffa656a
Don’t make nodes for blocks if we don’t have to. 2019-06-05 15:51:23 -04:00
Rob Rix
d7fedfdc3d
Leave functionDefinition the way it was. 2019-06-05 15:51:07 -04:00
Rob Rix
c550b6bbe1
Just use expressions. 2019-06-05 15:44:04 -04:00
Rob Rix
df59eaccdb
Blocks can be expressions. 2019-06-05 15:41:56 -04:00
Rob Rix
e106819e25
Use block in while. 2019-06-05 15:37:15 -04:00
Rob Rix
5c2329cde0
Use block in functionDefinition. 2019-06-05 15:35:48 -04:00
Rob Rix
e2438a49ac
Add a rule for blocks. 2019-06-05 15:34:33 -04:00
Rob Rix
eb6d12d661
Fail on incompatible parser versions. 2019-06-05 14:56:09 -04:00
joshvera
33e267151a WIP 2019-06-05 14:17:12 -04:00
Rob Rix
bc80f6dc20
Bump haskell-tree-sitter for bumps to the grammars. 2019-06-05 14:12:00 -04:00
Patrick Thomson
3e1f3bcb9f Remove redundant HasSpan class.
We already have a classy-lenses-style HasSpan class, provided by Data.Span itself, so we don't need Data.Abstract.HasSpan.
2019-06-04 14:40:09 -04:00
Patrick Thomson
0501336f26 Support --sha="HEAD" in semantic parse --symbols --gitdir.
This is a temporary bandaid to make performance debugging easier. We
are going to tackle the issue of proper Git integration in #38.
2019-06-04 11:43:33 -04:00
Rob Rix
f79ba2ae36
Merge branch 'master' into move-grammar-datatypes-to-the-parser-packages 2019-06-03 15:22:56 -04:00
Rob Rix
2646f89948
Move the grammar datatypes for all the other languages into their respective packages. 2019-06-03 14:14:04 -04:00
Rob Rix
0fa39f6131
🔥 Language.JSON.Grammar. 2019-06-03 13:23:16 -04:00
Rob Rix
5aee604964
Copy Freer & iterFreer in. 2019-06-03 12:17:54 -04:00
Rob Rix
2430e16f79
Avoid using wrap. 2019-06-03 12:17:39 -04:00
Rob Rix
40c467fc5d
🔥 the Show1 instances for Tracing and AssignmentF. 2019-06-03 12:16:32 -04:00
Rob Rix
2ccd8e10f3
Show the matched thing, not the rule that matched it. 2019-06-03 12:15:29 -04:00
Patrick Thomson
c2b46a6aba Simplify Data.Project.
We don't need this to be parameterized in terms of the filepath and
container type, because we no longer generate protobuf code from this
structure.

This should have no impact on tests or output.
2019-05-31 13:13:56 -04:00
Douglas Creager
cf803555e5 Make error reporter API generic
Instead of hard-coding the HTTP API we use for uploading errors to our
internal service, let the user provide an arbitrary function (in the IO
monad) for uploading them.  The default config will create an error
reporter that logs errors to the console, just like happened before if
you didn't set the `HAYSTACK_URL` environment variable.
2019-05-31 08:58:34 -04:00
Patrick Thomson
c34319c82e Fix lints. 2019-05-29 10:45:53 -04:00
Patrick Thomson
db8935d317 Merge remote-tracking branch 'origin/master' into remove-tagger 2019-05-29 10:38:21 -04:00
Patrick Thomson
830297cdb1 Remove Tagger DSL.
This doesn't do anything that just using Machine and Plan would do
more efficiently and with fewer LoC.
2019-05-27 09:50:32 -04:00
Patrick Thomson
af1f95f1d3 Remove Error effect from tagging internals.
This code was based on code I wrote for the reprinter, which had
different correctness constraints than does the tagging system:
specifically, the tagging code does not fail, as there is a
recoverable result even if we get pathological input. As such, there's
no need to wrap this in an Either that is always Right.
2019-05-25 14:33:18 -04:00
Patrick Thomson
0fb8595617 I guess GHC thinks these UNPACKs are unusable. 2019-05-24 11:55:31 -04:00
Patrick Thomson
2b6bc89d26 Merge branch 'blob-depends-on-file' of github.com:github/semantic into blob-depends-on-file 2019-05-24 11:53:34 -04:00
Patrick Thomson
8e0962712e legacyMakeBlob => makeBlob. Also unpack File. 2019-05-24 11:52:35 -04:00
Patrick Thomson
67ffebb9a1 Merge branch 'master' into blob-depends-on-file 2019-05-23 14:01:50 -04:00
Patrick Thomson
a3f54af945 Disable optimizations for Util and REPL to speed up -O1 builds.
Turns out you can disable optimizations per-module. This is a good
decision, as on my laptop GHC takes an appalling amount of time to
finish building at `-O1`. Let's see if this is reflected in the time
the builders take. (This should have no performance implications for
CLI use of `semantic`, as only SpecHelpers and REPL import Util.)
2019-05-22 17:43:57 -04:00
Patrick Thomson
63a7f117eb If we're not gonna rename File, give Blob the logical field name. 2019-05-21 22:58:25 -04:00
Patrick Thomson
00164372c9 Fix shadowing issues. 2019-05-21 22:43:16 -04:00
Patrick Thomson
b8d3a06a67 Fix all the test cases. 2019-05-21 22:28:32 -04:00
Patrick Thomson
9509ec37b8 absolutely massive patch that touches everything 2019-05-21 22:05:23 -04:00
Josh Vera
4bca62fd63 Merge branch 'master' into install-sig-handlers 2019-05-21 16:29:29 -04:00
Josh Vera
543734bc94 Merge branch 'master' into install-sig-handlers 2019-05-21 16:28:33 -04:00
joshvera
4f55f6a88f redundant import 2019-05-21 13:07:34 -04:00
Patrick Thomson
fa9f4ee559 Merge branch 'master' into upgrade-distribute 2019-05-21 13:05:55 -04:00
Patrick Thomson
162e8ec59a unused import 2019-05-21 12:06:28 -04:00
Patrick Thomson
c7105746c4 fix whitespace 2019-05-21 12:02:24 -04:00
Patrick Thomson
a8974e39d9 Second pass, imposing an export list. 2019-05-21 12:01:18 -04:00
Patrick Thomson
f89becc182 Disable functions in Semantic.Util not used by specs or tests. 2019-05-21 11:46:40 -04:00
joshvera
73a2bd0af2 donut snake case 2019-05-21 10:50:16 -04:00
Patrick Thomson
2f6ad83728 Decouple DistributeC from LiftC IO. 2019-05-21 10:42:20 -04:00
joshvera
76ece76746 lints 2019-05-20 18:52:58 -04:00
joshvera
b8634b07c8 Rethrow posix signals to the main thread 2019-05-20 18:48:27 -04:00
Patrick Thomson
0c55512221 Merge branch 'master' into ignore-minified-js 2019-05-16 13:41:59 -04:00
Patrick Thomson
6aaa2f47fd The hints... were wrong? 2019-05-15 18:33:22 -04:00
Patrick Thomson
f11a244f19 More lints. 2019-05-15 18:30:56 -04:00
Patrick Thomson
ad070aa1ab Lints. 2019-05-15 18:29:47 -04:00
Patrick Thomson
0197e40f38 Document rethrowing. 2019-05-15 18:28:21 -04:00
Patrick Thomson
e421dbeb20 We probably want to only catch sync errors here. 2019-05-15 18:25:09 -04:00
Patrick Thomson
70463f79f9 Remove cubic-caller problem. 2019-05-15 18:21:07 -04:00
Patrick Thomson
334243efc0 Make readFilePair fail in IO rather than require extra MonadFail. 2019-05-15 18:04:07 -04:00
Patrick Thomson
a544c2d6d8 Refactor internals of FilesC to use catch rather than Exc.catch. 2019-05-15 18:04:07 -04:00
Patrick Thomson
e18cb752ce Use Catch in the REPL. 2019-05-15 18:04:07 -04:00
Patrick Thomson
73b0b17ff0 Add Catch to the TaskEff stack. 2019-05-15 18:04:07 -04:00
Patrick Thomson
45492449c1 Ignore minified .js files (#2529)
aleph is doing more work than it needs to, as semantic is
all-too-enthusiastic to read in a whole node_modules directory of
minified .js files. A few well-placed boolean checks ensure that
we don't waste these cycles.

Fixes #2529.
2019-05-15 12:49:51 -04:00
Patrick Thomson
877e440800 Merge branch 'master' into remove-boring-instances 2019-05-13 13:29:31 -04:00
Timothy Clem
b2ff549d53 Remove this stat 2019-05-09 15:06:13 -07:00
Timothy Clem
7830fb9137 Cleanup to oneline 2019-05-09 13:19:43 -07:00
Timothy Clem
eae4bdb8c7 Allow passing excludes on stdin 2019-05-09 13:17:18 -07:00
Patrick Thomson
f31cc397ad For some reason, only Hlint died on this syntax error. 2019-05-08 11:17:49 -04:00
Patrick Thomson
039dca154a Forgot some newtype specifiers. 2019-05-08 11:15:21 -04:00
Patrick Thomson
65ca86534e 🔥 Semantic.Task.Files. 2019-05-08 11:06:28 -04:00
Patrick Thomson
ec03076cf1 🔥 Control.Effect.REPL. 2019-05-08 11:04:33 -04:00
Patrick Thomson
46bcc03437 🔥 Control.Abstract.Modules. 2019-05-08 11:03:16 -04:00
Patrick Thomson
f8a2cda0d0 🔥 Control.Abstract.ScopeGraph 2019-05-08 11:01:16 -04:00
Patrick Thomson
6024a7b0d9 🔥 Control.Abstract.Value. 2019-05-08 11:00:03 -04:00
Patrick Thomson
78c0158355 🔥 Control.Abstract.Heap 2019-05-08 10:59:45 -04:00
Patrick Thomson
11c9133202 🔥 Semantic.Telemetry. 2019-05-08 10:55:01 -04:00
Patrick Thomson
bb26b414c0 🔥 Semantic.Resolution. 2019-05-08 10:52:49 -04:00
Patrick Thomson
99fca869ff 🔥 Algorithm 2019-05-08 10:51:23 -04:00
Patrick Thomson
6748c13c79 Merge branch 'master' into remove-orphan-files 2019-05-03 15:26:26 -04:00
Timothy Clem
c6cc5cb459 Limit line we return to 180 2019-04-30 10:54:24 -07:00
Patrick Thomson
065c4688ef Remove unused protobuf-related files.
For some reason that escapes me at the moment, I chose to put these
files in the main tree rather than in services/alephd.
2019-04-29 10:58:51 -04:00
Patrick Thomson
396fce8ace Remove stray occurrences of Debug.Trace.traceM. 2019-04-24 12:13:08 -04:00
Timothy Clem
5de5e1d367 Done 2019-04-15 12:57:36 -07:00
Timothy Clem
834de443d3 Wire in list of paths to exclude 2019-04-15 12:50:56 -07:00
Timothy Clem
e381f4d95d Add bloboid (if exists) to proto output 2019-04-12 15:48:49 -07:00
Timothy Clem
abd0bf08af Narrow in on language support for now 2019-04-12 15:48:35 -07:00
Timothy Clem
a37a737562 Stub in an exclude list 2019-04-12 15:48:09 -07:00
Timothy Clem
eb0e820fe9 Stat how long it takes to read git repos 2019-04-12 14:41:01 -07:00
Timothy Clem
7840aec67b Fix specs 2019-04-12 12:50:30 -07:00