Rob Rix
31d396ee91
Merge branch 'master' into semantic-python
2019-06-17 10:54:55 -04:00
Rob Rix
30fd1b4abf
Merge branch 'master' into remove-orphan-bytestring-listable
2019-06-14 16:34:13 -04:00
Patrick Thomson
e1d94f07d1
Remove Listable instance for Source.
...
This was created with a whole mess of Leancheck combinators. A
Hedgehog approach makes things easier.
2019-06-14 11:53:42 -04:00
Jan Hrček
7aa0d8b3d9
Enable GHC warnings in tests
2019-06-14 15:35:18 +02:00
Patrick Thomson
668d1f396f
Require Cabal 2.4.
2019-06-13 14:20:22 -04:00
Patrick Thomson
b8cb9d1bfa
Remove unused imports.
2019-06-12 12:52:11 -04:00
Patrick Thomson
11442cf772
Add more bounds.
2019-06-12 12:37:40 -04:00
Patrick Thomson
99c4bb21f8
Overhaul test harnesses and add tasty bounds.
2019-06-12 11:30:20 -04:00
Rob Rix
dd352cb9c5
Add extra-source-files to semantic.
2019-06-11 11:25:56 -04:00
Rob Rix
32c7698aba
Change the category for semantic to Language.
2019-06-11 11:25:34 -04:00
Rob Rix
83a6c6ca78
Make the different cabal files line up.
2019-06-11 11:25:11 -04:00
Rob Rix
40e9999b02
Add bug-reports fields.
2019-06-11 11:23:38 -04:00
Rob Rix
7ec058c38d
Fix a disagreement between the LICENSE file and Copyright field.
2019-06-11 11:12:58 -04:00
Patrick Thomson
039e187819
Fix travis invocation and add more bounds.
2019-06-11 11:05:10 -04:00
Patrick Thomson
90562edd53
Fixes for build time.
2019-06-10 15:03:59 -04:00
Patrick Thomson
dcf4a577f7
Use Hackage package rather than submodules.
2019-06-10 13:29:11 -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
Patrick Thomson
9aebd13e5b
Merge branch 'master' into fail-all-of-the-tests-at-once-and-explode-into-space
2019-06-06 02:40:01 -04:00
Rob Rix
87209d3eee
🔥 MiniPython & MiniRuby.
2019-06-05 17:05:14 -04:00
joshvera
33e267151a
WIP
2019-06-05 14:17:12 -04:00
Patrick Thomson
79fa92e9e6
Bump minimum base
version to 4.12.0.0.
...
This should hopefully provide a more informative error message when
someone attempts to build the project with too old of a GHC.
2019-06-05 10:38:51 -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
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
Patrick Thomson
1932332b96
Merge remote-tracking branch 'origin/master' into if-any-monad-is-not-freer-then-I-too-am-bound
2019-06-03 13:40:49 -04:00
Rob Rix
0fa39f6131
🔥 Language.JSON.Grammar.
2019-06-03 13:23:16 -04:00
Rob Rix
f9579b1ed6
🤠 fix the author field in the cabal file.
...
https://github.com/github/semantic/graphs/contributors seemed too lengthy to fit in there and we didn’t want to leave people out, so we went with “The Semantic authors” to cover everybody.
2019-06-03 12:40:15 -04:00
Rob Rix
930b5c01c6
🤠 fix the repo URL in the cabal file.
2019-06-03 12:39:04 -04:00
Rob Rix
e6145c6217
Don’t depend on freer-cofreer.
2019-06-03 12:18:15 -04:00
Patrick Thomson
a7f6806298
Fix cabal build. ( #4 )
...
- Remove cmark-gfm direct dependency.
- Fix submodule paths.
- Pin to versioned fused-effects packages.
2019-05-31 08:58:35 -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
b2bbda5fca
Specify version bounds in .cabal file ( #1 )
...
Establish library bounds based on Stackage LTS 13.13.
We use the new cabal `^>=` operator to establish PVP-compatible versioning.
2019-05-31 08:58:17 -04:00
Douglas Creager
afea75f86f
Add license and maintainer to cabal file
2019-05-31 08:37:44 -04:00
Patrick Thomson
a410300492
Add tests for readBlobsFromGitRepo.
...
This is part of the critical path for repository tagging, so we should
test it to make sure it doesn't explode. This introduces a test that
creates a temporary git repo and queries it to make sure that adding
and then reading from a blob works properly.
2019-05-28 14:54:18 -04:00
Patrick Thomson
a0f87c3c12
Remove -dynamic flag from cabal file.
...
We originally put this here because we were recompiling
haskell-tree-sitter on every ghci reload, and it sped up the process
of linking the built haskell-tree-sitter into ghci. Now that we
compile haskell-tree-sitter once, its use is no longer applicable, and
it interferes with profiling builds.
2019-05-28 12:12:12 -04:00
Patrick Thomson
789fcde288
Merge branch 'master' into blob-depends-on-file
2019-05-24 12:46:16 -04:00
Patrick Thomson
59583c6105
Ensure parse-examples gets passed the -threaded flag.
2019-05-24 12:09:48 -04:00
Patrick Thomson
9509ec37b8
absolutely massive patch that touches everything
2019-05-21 22:05:23 -04:00
Patrick Thomson
70463f79f9
Remove cubic-caller problem.
2019-05-15 18:21:07 -04:00
Patrick Thomson
895677c88e
Add fused-effects-exceptions.
2019-05-15 18:04:07 -04: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
Timothy Clem
0de9099578
Fix parse-examples
2019-04-12 12:54:12 -07:00
Timothy Clem
7840aec67b
Fix specs
2019-04-12 12:50:30 -07:00
Timothy Clem
40c4c1f657
Cleanup
2019-04-12 11:45:07 -07:00
Timothy Clem
aef2d62b1b
Move Git functionality into semantic
2019-04-12 11:40:03 -07:00
Patrick Thomson
ecea375520
Eliminate boolean blindness with tagged flags a la olegfi.
2019-03-22 16:25:04 -04:00
Josh Vera
f2c6a50c2d
Merge branch 'master' into use-external-exceptions-package
2019-03-19 16:06:53 -04:00
Max Brunsfeld
3c0dd6cc45
Add unit test for parsing with a timeout
...
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2019-03-19 11:56:07 -07:00
Patrick Thomson
139b0c5bd1
Use external fused-effects-exceptions package.
...
This was OSS'd because it turned out to be a little tricky and we
didn't want external consumers to have to implement it themselves. No
reason to keep it around in our tree.
2019-03-19 10:34:13 -04:00
joshvera
a9e4a71fd0
Move catchSync to Control.Effect.Catch
2019-03-18 12:56:46 -04:00
Patrick Thomson
b92d9a5382
Rename Helpers to Bridge.
2019-03-01 15:27:13 -05:00
Josh Vera
8c654caacc
Merge branch 'indexer-prototype' into merge-indexer-prototype
2019-02-22 17:33:53 -05:00
joshvera
f2aee684bc
Merge remote-tracking branch 'origin/master' into indexer-prototype
2019-02-22 11:10:53 -05:00
joshvera
ffc53d3877
Merge remote-tracking branch 'origin/indexer-prototype' into merge-indexer-prototype
2019-02-21 12:22:08 -05:00
Timothy Clem
fcf0f3896d
Merge remote-tracking branch 'origin/master' into embrace-new-api
2019-02-20 14:51:31 -08:00
Rick Winfrey
9d884e4af3
Merge branch 'master' into indexer-prototype
2019-02-20 12:09:23 -08:00
joshvera
be4250707d
Merge remote-tracking branch 'origin/indexer-prototype' into deploy-to-moda
2019-02-20 14:23:18 -05:00
Timothy Clem
af321dfd23
Revert "Let's call it 1.0!"
...
This reverts commit ec8377ca30b15b29c49aec9ed5cb3811b7c07ff4.
2019-02-20 08:27:46 -08:00
Timothy Clem
f2116d9ed8
Let's call it 1.0!
2019-02-19 16:33:33 -08:00
Patrick Thomson
07fbfbc965
examples require process package
2019-02-19 16:11:28 -05:00
Patrick Thomson
1d600e199c
Factor out common executable flags
2019-02-19 14:31:16 -05:00
Patrick Thomson
50b55b084f
Test consolidating ghc-options in library stanza
2019-02-19 14:22:16 -05:00
Patrick Thomson
6daf9be738
Factor out common libraries.
2019-02-19 14:20:33 -05:00
Patrick Thomson
8418290224
Factor out common GHC extensions.
2019-02-19 13:54:14 -05:00
Patrick Thomson
6b763dd5e9
Fix tests.
2019-02-15 17:55:15 -05:00
Timothy Clem
cbd83d5bb9
This warrents a version bump
2019-02-15 13:34:17 -08:00
Patrick Thomson
c7b41a3594
Merge remote-tracking branch 'origin/master' into indexer-prototype-no-sg
2019-02-15 14:05:23 -05:00
Timothy Clem
cc78c0d8d5
Case Api as generated
2019-02-12 12:49:34 -08:00
joshvera
e73fcc57a5
Move DCOMPUTE_GIT_SHA to cpp-options
2019-02-11 15:08:24 -05:00
joshvera
c9724d2720
Merge 'origin/master' into deploy-to-moda
2019-02-11 14:27:22 -05:00
joshvera
4fd258182e
Merge remote-tracking branch 'origin/indexer-prototype' into deploy-to-moda
2019-02-11 13:56:08 -05:00
joshvera
dd106278b3
Add getSpan so we don't have to eval a term
...
Co-Authored-By: Rob Rix <robrix@github.com>
2019-02-11 13:15:13 -05:00
Timothy Clem
6083803d68
Bring in twirp-haskell and generate everything from protos
2019-02-08 13:52:34 -08:00
joshvera
867d1867c0
remove Data.GitHub.Spec
2019-02-08 15:46:46 -05:00
Patrick Thomson
7db320f6a5
Consolidate a number of unused modules.
2019-02-08 14:43:15 -05:00
Patrick Thomson
6b5f5c11de
Gut Semantic.Lens and move lensy declarations near their datatypes
2019-02-08 14:14:19 -05:00
Patrick Thomson
fbf4b443b4
Move tag to its own file and add a couple lenses
2019-02-08 12:05:59 -05:00
Timothy Clem
50bedeb689
Remove extraneous proto encoding/decode from our internal datatypes
2019-02-06 14:55:43 -08:00
Timothy Clem
edc9adb197
Install and use hlint directly
2019-02-04 15:19:10 -08:00
joshvera
e99f85e7a1
Merge remote-tracking branch 'origin/master' into indexer-prototype
2019-02-04 17:17:45 -05:00
joshvera
a4d892811f
Merge remote-tracking branch 'origin/master' into indexer-prototype
2019-02-01 16:03:16 -05:00
Timothy Clem
635f09fe29
++version to 0.5.0
2019-01-31 15:41:08 -08:00
Timothy Clem
f14412fe8f
Merge remote-tracking branch 'origin/master' into servant-experiment
2019-01-31 12:57:59 -08:00
Patrick Thomson
4701a91c02
move SQL stuff out of Core and add Catch effect
2019-01-31 14:37:40 -05:00
Timothy Clem
d3330aa9f3
Dedicated input types for Blob and BlobPair
2019-01-28 14:37:50 -08:00
Timothy Clem
1faff05a2b
Remove some un-used code
2019-01-25 10:12:38 -08:00
Patrick Thomson
13ac7b4942
Last stage of the great renaming
2019-01-24 13:23:59 -05:00
Patrick Thomson
46969defce
Pull in upstream proto3-suite and kill the Exts module.
2019-01-24 13:13:47 -05:00
Patrick Thomson
92b5549d01
Move Envelope
2019-01-24 13:02:11 -05:00
Patrick Thomson
869bd26cae
Move User.hs
2019-01-24 12:59:48 -05:00
Patrick Thomson
3cd4ffc9c3
RequestContext, RequestMethod, and RepositoryPush
2019-01-24 12:57:50 -05:00
Patrick Thomson
469151d180
Move Data/GitHub/Repository
2019-01-24 12:48:15 -05:00
Patrick Thomson
c6f4f0fea0
Move Data.GitHub.Git to Data.Git
2019-01-24 12:40:22 -05:00
Timothy Clem
9e9bbc1e68
Dedicated paths for legacy formatting of symbols and toc output
2019-01-24 08:34:37 -08:00
Timothy Clem
be138f7362
Add in parse tree graph endpoint
2019-01-23 14:53:29 -08:00
Timothy Clem
6befe07ea3
Remove rest of old diff renderers and Diff.hs
2019-01-22 12:05:45 -07:00
Timothy Clem
5e6d0240b2
Use the new diff api from the CLI, fix up tests again
2019-01-22 11:42:06 -07:00
Timothy Clem
154e0388af
Goodbye Semantic.Parse
2019-01-18 16:04:23 -08:00
Timothy Clem
9f222adcd3
Show and Quiet outputs
2019-01-18 12:37:49 -08:00
Timothy Clem
f23110a73a
Transition sexpression term rendering
2019-01-18 09:29:51 -08:00
Timothy Clem
e3afd9d684
Symbol rendering is entirely on the new path
2019-01-17 15:13:39 -08:00
Timothy Clem
8d5d3e45da
Factor back in the toc summary endpoint, now supported in twirp too
2019-01-17 14:00:13 -08:00
Timothy Clem
01af025638
Move parse back into semantic
2019-01-16 15:39:07 -08:00
Rick Winfrey
439e9ff9ae
Update remaining
2019-01-15 12:27:09 -08:00
Timothy Clem
26b771715f
Wire in Twirp ping and symbols endpoints, disable grpc entirely
2019-01-15 08:45:20 -08:00
Patrick Thomson
34cfa42584
rename spec and add toByteString
2019-01-11 12:27:47 -05:00
Patrick Thomson
b29633e0d6
Move the user type into User.
2019-01-11 11:58:13 -05:00
Patrick Thomson
a4bd06f6be
Fix nomenclature and modules.
2019-01-11 11:20:58 -05:00
Patrick Thomson
60b024dd13
Fix the members that I omitted.
2019-01-10 19:01:19 -05:00
Patrick Thomson
d7ad7e9fce
Add Repository entity and make sure they get pushed in repo pushes
2019-01-10 16:22:34 -05:00
Josh Vera
d4e9ab09a9
Merge pull request #2326 from github/add-hydro-data-types
...
Add data types for Kafka event messages.
2019-01-10 13:16:52 -05:00
Rick Winfrey
136af86301
Merge branch 'master' into visibility-resolution
2019-01-08 17:32:14 -08:00
joshvera
b23352e163
Merge remote-tracking branch 'origin/master' into indexer-prototype
2019-01-08 15:54:43 -05:00
Patrick Thomson
2894edd428
Include Push events in the cabal file.
2019-01-08 15:30:12 -05:00
Patrick Thomson
39bdfdf01f
Add Hydro data types corresponding to proposed push schema.
...
Provides a `Push` type. To build that, we needed `RequestContext`,
`UserType`, `RequestMethod`, `Spamurai`, `Timestamp`, and `IPVersion`.
The schemas have all been taken from https://github.com/github/hydro-schemas/ .
2019-01-08 13:55:09 -05:00
Patrick Thomson
1302fe4ac8
Use -XDerivingVia to clean up our Semigroup/Monoid instances.
...
Now that we're on GHC 8.6, we can use `-XDerivingVia` in many cases
where we previously had to write instances by hand. If you're not
familiar with `-XDerivingVia`, the [GHC proposal][ghc] is a good place
to start.
[ghc]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0023-deriving-via.rst
Thanks to the `generic-monoid` package, we can derive a `Semigroup`
instance for any product type whose members are `Semigroups`, and the
same goes for `Monoid`. This entails an extra dependency, but it is
better than the `generic-deriving` package, which is way too much overhead.
I've also switched some trivial definitions to newtype-deriving.
Please be aware that this bumps `hlint` and `haskell-src-exts` so that
`hlint` doesn't choke on the `DerivingVia` extension. You'll need to
`stack install hlint` to get it on your `PATH`. Apologies!
2019-01-07 11:23:11 -05:00
joshvera
b5af73c088
Merge remote-tracking branch 'origin/master' into add-references-to-indexer-prototype
2019-01-04 15:00:43 -05:00
Patrick Thomson
955f30617c
Depend on hostname instead of Network.BSD.
2018-12-29 15:02:42 -05:00
Patrick Thomson
d32f5cd5ca
Merge branch 'master' into lts-13.0
2018-12-29 14:17:48 -05:00
Patrick Thomson
9852155a77
Upgrade to LTS 13.0 and GHC 8.6.3.
...
Bumps most of our dependencies.
Code changes:
* algebraic-graphs-0.3 no longer provides a Foldable or Traversable
implementation for `Graph`, so now neither does our `Graph` type.
* CMark parsing now uses safe rendering of raw HTML/URLs by default,
so there is no reason to pass an `optSafe` anymore.
* algebraic-graphs now no longer requires an Eq constraint on the
output type it generates, so we can ditch our Serializing.DOT
module. (Andrey fixed this for us specifically!)
2018-12-29 14:02:24 -05:00
Rick Winfrey
960d56fdcf
Add Visibilities instances
2018-12-19 19:11:02 -08:00
Rick Winfrey
3adaf47a4f
Define a Visibilities type class
2018-12-19 19:10:49 -08:00
joshvera
9f86c1b7d1
Move Taggable instances to their own module
2018-12-19 16:27:33 -05:00
Patrick Thomson
5d46cb211e
Split up typescript grammar even more
2018-12-18 16:25:32 -05:00
Rob Rix
594979543c
🔥 Located.
2018-12-13 12:04:24 -05:00
Rob Rix
595f0fa2a3
Whitespace error.
2018-12-13 12:04:06 -05:00
Patrick Thomson
684a752773
remove Semantic.Util.Rewriting
2018-12-11 17:47:13 -05:00
Patrick Thomson
e329cbe89a
unify the last spec
2018-12-11 17:36:42 -05:00
Patrick Thomson
1de0e9ef09
move specs around
2018-12-11 17:21:39 -05:00
Patrick Thomson
1f44f81acc
Unify Control.Rewriting and Control.Matching.
2018-12-11 17:12:24 -05:00
Rob Rix
fa950f3239
🔥 Data.Abstract.Ref.
2018-12-10 11:37:00 -05:00
joshvera
1914a94500
Add -dynamic in test debug builds as well
2018-12-05 11:28:21 -05:00
joshvera
9b8a93bc04
Replace -static with -dynamic in non-release builds
...
Improves performance in the repl since we don't have to link statically.
2018-12-05 11:25:12 -05:00
joshvera
03e5546ec1
Add -O0 to tests to reduce compilation times
2018-12-05 10:25:21 -05:00
joshvera
49e8a7004c
Remove Exports
2018-12-05 10:23:42 -05:00
joshvera
26d3e5e449
Remove Environment
2018-12-05 09:42:00 -05:00
joshvera
70fa31f11e
Fix expectation of sequence expression test
2018-11-29 18:38:32 -05:00
joshvera
f39da9578a
Move ImportPath to Data.ImportPath
2018-11-16 16:09:11 -05:00
Timothy Clem
57f284f847
Streamline the declarations for toc summaries
2018-11-08 08:33:26 -08:00
Timothy Clem
343289f1c5
Merge remote-tracking branch 'origin/master' into docstrings-round2
2018-11-06 09:17:49 -08:00
Patrick Thomson
7ea52dbfe3
Give Control.Matching API better ergonomics.
...
Given that @tclem and I have found the matcher API frustrating, I've
taken a stab at improving its ergonomics, and I've found some success
in separating composition of matchers from predicate-based narrowing
thereof.
The biggest change here is the elimination of the old `match`
combinator, which proved to be clumsy in that it complected narrowing
and composition. Top-down matching combinators are now written with
the `need` combinator and the `>>>` combinator, which is more readable
and more versatile. Here's a matcher that accepts functions with
Python docstrings:
```haskell
docstringMatcher :: ( Decl.Function :< fs
, [] :< fs
, Lit.TextElement :< fs
, term ~ Term (Sum fs) ann
) => Matcher term term
docstringMatcher = target <*
(need Decl.functionBody
>>> narrow @[]
>>> mhead
>>> narrow @Lit.TextElement
>>> ensure Lit.isTripleQuoted))
```
Pretty readable, right? Each step of the tree regular expression -
choosing function bodies, ensuring said bodies are lists, examining
the first element, and choosing only TextElements containing
triple-quoted strings - is made implicit. The old way would have
looked something like this:
```haskell
docstringMatcher = target <* match Decl.functionBody
$ narrow
$ matchM listToMaybe
$ target <* ensure Lit.isTripleQuoted
```
which is a good deal more disorganized and less flexible
in the quite-common case of applying functions during a
matching pass. Separating the act of composition from
function application is a big win here.
Further comments are inline.
2018-11-02 19:25:29 -04:00
Timothy Clem
0f56f33f24
Introduce some symbol/tags tests
2018-11-02 13:55:30 -07:00
Timothy Clem
63e13ee20c
Merge remote-tracking branch 'origin/master' into docstrings-round2
2018-11-01 16:04:15 -07:00
Timothy Clem
1f6a7b9e48
Move HasTextElement
2018-11-01 14:49:35 -07:00
Patrick Thomson
b9cf8f73c6
Environment and App.
2018-10-31 15:47:30 -04:00
Timothy Clem
d4d19ea21f
Some renaming, split out into two modules
2018-10-31 10:58:00 -07:00
Patrick Thomson
d473b9e1af
add Data/Abstract/Name/Spec
2018-10-31 13:19:43 -04:00
Patrick Thomson
b0e6190dbf
add Data/Range/Spec
2018-10-31 12:46:52 -04:00
Patrick Thomson
cd05aaa7a5
add Data/Graph/Spec
2018-10-31 12:30:56 -04:00