1
1
mirror of https://github.com/github/semantic.git synced 2024-11-25 11:04:00 +03:00
Commit Graph

18595 Commits

Author SHA1 Message Date
Patrick Thomson
0ac705b0f5 flesh out some benchmarks 2018-03-07 19:34:20 -05:00
Rob Rix
8fea3108e5 Merge pull request #1532 from github/analysis-composition
Analysis composition
2018-03-07 18:44:50 -05:00
Rob Rix
48819ad6ef Merge branch 'master' into analysis-composition 2018-03-07 17:49:30 -05:00
Josh Vera
08642f6eb8 Merge pull request #1524 from github/resuscitate-caching-analysis
Resuscitate the caching evaluator.
2018-03-07 17:48:39 -05:00
Patrick Thomson
8c6ae8145d use ModuleTable 2018-03-07 15:17:16 -05:00
Patrick Thomson
8a738a8760 Merge remote-tracking branch 'origin/master' into resuscitate-caching-analysis 2018-03-07 15:07:01 -05:00
Timothy Clem
86f3283e26 Merge pull request #1534 from github/bump-tree-sitter
++haskell-tree-sitter, tree-sitter and ts languages
2018-03-07 08:29:49 -08:00
Timothy Clem
02d153e7ab Merge branch 'master' into bump-tree-sitter 2018-03-07 08:07:23 -08:00
Patrick Thomson
6ab468a58f remove stray comment 2018-03-07 10:25:06 -05:00
Patrick Thomson
22cac16ac5 Merge pull request #1526 from github/rename-linker
Rename the Linker type/module to ModuleTable.
2018-03-07 10:24:02 -05:00
Patrick Thomson
276d66e02f fix stray linkerInsert 2018-03-07 10:17:28 -05:00
Timothy Clem
25b9826faa Go function/method parameter list changes 2018-03-06 15:47:48 -08:00
Timothy Clem
a0ec9e7c07 Go import test changes 2018-03-06 15:47:22 -08:00
Timothy Clem
4d24e41819 Update Go assignment for dot and blank imports 2018-03-06 15:46:55 -08:00
Timothy Clem
04575d4a01 ++haskell-tree-sitter 2018-03-06 15:16:46 -08:00
Patrick Thomson
a02e1a6ea8 Merge remote-tracking branch 'origin/master' into resuscitate-caching-analysis 2018-03-06 17:28:06 -05:00
Patrick Thomson
a804013214 Merge remote-tracking branch 'origin/master' into rename-linker 2018-03-06 17:25:20 -05:00
Patrick Thomson
f96136918a Rename the linker* family of functions. 2018-03-06 17:24:54 -05:00
Rob Rix
ca32bdc551 Define 'analyzeTerm' for 'CachingAnalysis'. 2018-03-06 16:46:38 -05:00
Rob Rix
76c69dce45 📝 analyzeTerm. 2018-03-06 16:43:23 -05:00
Rob Rix
e0e1dc2e67 Reformat/expand the 📝 for evaluateTerm. 2018-03-06 16:43:15 -05:00
Rob Rix
b0b93c7147 Move the 📝 for evaluateTerm down. 2018-03-06 16:40:49 -05:00
Rob Rix
25e5af382e Define dead code analysis using analyzeTerm. 2018-03-06 16:40:15 -05:00
Rob Rix
2ab50cda5e Evaluation analyzes via eval. 2018-03-06 16:39:37 -05:00
Rob Rix
c68728ea06 Define an analyzeTerm method on MonadAnalysis. 2018-03-06 16:36:06 -05:00
Josh Vera
90d2b09cac Merge pull request #1525 from github/stylish-haskell-defaults
Add stylish-haskell configuration file.
2018-03-06 16:21:03 -05:00
Rob Rix
91cf38722b Add MultiParamTypeClasses to the defaults.
`haskell-src-exts` is quite broken when it comes to `MultiParamTypeClasses`:

- https://github.com/jaspervdj/stylish-haskell/issues/129
- https://github.com/haskell-suite/haskell-src-exts/issues/304
- `FunctionalDependencies` implies `MultiParamTypeClasses`, but `haskell-src-exts` doesn’t know that

Enabling it by default should correct this.
2018-03-06 15:20:53 -05:00
Patrick Thomson
37fcc4826b Rename the Linker type/module to ModuleTable.
During my recent pairing with @robrix, we agreed that the name of
Linker was inaccurate—it doesn't link anything, it just keeps track of
past modules. This renames it and its module.
2018-03-06 14:17:32 -05:00
Patrick Thomson
7576c09b4d Add stylish-haskell configuration file.
This introduces a configuration file to ease the use of the
[stylish-haskell](https://github.com/jaspervdj/stylish-haskell)
formatting tool. While the `semantic` codebase is already quite
well-formatted, this tool makes it easy to DTRT when writing new code,
and is a good place to centralize our coding style.

Installing `stylish-haskell` is as easy as `stack install stylish-haskell`.
You can always opt-out! This is all entirely optional.

Editor support:
* emacs — bind `haskell-mode-stylish-buffer` to a keybinding or hook.
* vim — `:set formatprg=stylish-haskell` or install `vim-stylish-haskell`.
* atom — if you have `haskell-ide` installed, the Prettify menu item
  should do the right thing.

It's worth reading through the options that stylish-haskell
provides. The options I chose here differ a bit from the default, as I
tried to pick a style that's cromulent with the codebase as it exists
today. If you have any thoughts as to what stylistic changes we could
or should make (example: though I've disabled it, stylish-haskell
makes it easy to keep every `LANGUAGE` pragma on the same line),
please let me know.

I don't think it's necessary to go through and apply `stylish` to our
existing codebase, as it would pollute the history. But I plan to use
it going forward, and maybe you will too!
2018-03-06 14:00:15 -05:00
Patrick Thomson
c3d01b6602 Resuscitate the caching evaluator.
The caching analysis had been disabled, as it was still written in the
open-interpreter style. This patch restores it, defining a
`CachingAnalysis` newtype that uses nondeterministic but convergent
caching in its `MonadAnalysis` instance. This also defines an
`embedSubterm` helper that is useful in defining new analysis passes.

Thanks to @robrix for 🍐!
2018-03-06 13:51:00 -05:00
Josh Vera
7e22cf8f69 Merge pull request #1522 from github/haddock-fixes-mk2
Further fixes for Haddock syntax.
2018-03-05 16:59:29 -05:00
Patrick Thomson
b12caf004d Further fixes for Haddock syntax. 2018-03-05 16:40:34 -05:00
Patrick Thomson
1549cbf00a Merge pull request #1519 from github/if-evaluation
Support ifthenelse evaluation
2018-03-05 14:37:45 -05:00
Rob Rix
9ddf2a376f Merge branch 'master' into if-evaluation 2018-03-05 09:47:37 -05:00
Rob Rix
ffa0a972ff Merge pull request #1515 from github/evaluatable-simplification
Evaluatable simplification
2018-03-05 09:47:06 -05:00
Rob Rix
3ff77c9a9e Merge branch 'master' into evaluatable-simplification 2018-03-05 09:41:14 -05:00
Patrick Thomson
70f30ab254 Merge pull request #1518 from github/graph-filename-module
Include module names in import-graph SymbolDeclarations.
2018-03-02 15:42:20 -08:00
Patrick Thomson
d4c39f075b remove otiose comment 2018-03-02 15:35:37 -08:00
Patrick Thomson
1da2668d60 Fix end-to-end tests. 2018-03-02 15:30:51 -08:00
Patrick Thomson
226ff88723 Rename MonadFunction to MonadValue. 2018-03-02 11:45:56 -08:00
Patrick Thomson
cc487a3872 Evaluatable instance for If and NoOp. 2018-03-02 11:32:25 -08:00
Patrick Thomson
e165812969 Include module names in SymbolDeclarations. 2018-03-02 10:03:54 -08:00
Rob Rix
be4bf5b1f7 📝 withModules. 2018-03-02 12:27:40 -05:00
Rob Rix
529becae3f Use withModules to define evaluates. 2018-03-02 12:26:46 -05:00
Rob Rix
111e31e4da Define a withModules helper. 2018-03-02 12:26:26 -05:00
Rob Rix
c972fbd958 Extract the module table into its own binding. 2018-03-02 12:23:28 -05:00
Rob Rix
60be5d2f1a 📝 evaluateTerm. 2018-03-02 12:13:01 -05:00
Rob Rix
ecbfd71a1c Reformat evaluateTerm. 2018-03-02 12:11:28 -05:00
Rob Rix
ed4c2a9361 📝 Evaluation. 2018-03-02 10:58:29 -05:00
Rob Rix
91cfe37bc7 🔥 the Analysis.Abstract.TypeInference module. 2018-03-02 10:56:04 -05:00