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

18682 Commits

Author SHA1 Message Date
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
956993a98d Go imports always be changing structure 2018-03-06 16:11:32 -08:00
Timothy Clem
34c5f12f3e Don't run these until output format stablizes a bit 2018-03-06 16:11:14 -08:00
Timothy Clem
c509d33ff9 Merge branch 'bump-tree-sitter' into environment-scoping 2018-03-06 16:04:16 -08: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
Timothy Clem
ad25410468 New take on Go import assignment (needs a tree-sitter bump) 2018-03-06 15:08:53 -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
Timothy Clem
f5edf073a2 Merge remote-tracking branch 'origin/master' into environment-scoping 2018-03-06 11:02:43 -08:00
Timothy Clem
61f6d0314b Fix up a few tests 2018-03-06 11:02:29 -08: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
Timothy Clem
197c6320db Small TypeScript analysis example 2018-03-06 10:15:09 -08:00
Timothy Clem
19b47833cd TypeScript eval helpers 2018-03-06 08:56:29 -08:00
Timothy Clem
eecbe4bb45 FreeVariables1 and Evaluatable for TypeScript specific syntaxes 2018-03-06 08:56:21 -08:00
Timothy Clem
dd2b0841f0 Missing FreeVariables1 on AccessibilityModifier 2018-03-06 08:56:01 -08:00
Timothy Clem
1a437528e3 WIP: TypeScript imports necessitate qualified v regular imports 2018-03-05 19:33:15 -08:00
Timothy Clem
f2a61cc273 TypeApplications not necessary any more 2018-03-05 19:32:23 -08:00
Timothy Clem
32d89acbbe Not using this 2018-03-05 19:32:03 -08:00
Timothy Clem
a8b72a85db Add type sig 2018-03-05 19:31:49 -08: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
Timothy Clem
f278f84f36 Merge remote-tracking branch 'origin/if-evaluation' into environment-scoping 2018-03-05 09:13:04 -08:00
Timothy Clem
df357ba37c Couple of minor cleanups 2018-03-05 09:12:54 -08:00
Timothy Clem
843728aa3b Merge remote-tracking branch 'origin/master' into environment-scoping 2018-03-05 08:43:32 -08: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
Timothy Clem
ab71814900 Streamline this code a bit, no functional changes 2018-03-02 16:33:27 -08:00
Timothy Clem
7b4b35cb5e Merge remote-tracking branch 'origin/if-evaluation' into environment-scoping 2018-03-02 16:08:54 -08: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
Timothy Clem
d57c1e2d33 Merge remote-tracking branch 'origin/if-evaluation' into environment-scoping 2018-03-02 15:32:25 -08:00
Patrick Thomson
1da2668d60 Fix end-to-end tests. 2018-03-02 15:30:51 -08:00