1
1
mirror of https://github.com/github/semantic.git synced 2024-12-21 22:01:46 +03:00
Commit Graph

18709 Commits

Author SHA1 Message Date
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
Timothy Clem
29824f64e7 Merge remote-tracking branch 'origin/evaluatable-simplification' into environment-scoping 2018-03-02 15:30:26 -08:00
Timothy Clem
afd18d7ab4 No need for CellValue anymore 2018-03-02 14:59:38 -08:00
Timothy Clem
515b9b64a1 Formatting those type sigs 2018-03-02 14:38:01 -08:00
Timothy Clem
db879fe1f6 Store the environment in the linker instead of an Interface.Value 2018-03-02 14:36:53 -08:00
Timothy Clem
623bfc4cbc Rework import syntax to support importing symbols 2018-03-02 14:01:16 -08:00
Timothy Clem
e7ef9596b0 Introduce QualifiedIdentifer syntax 2018-03-02 14:00:42 -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
Rob Rix
ce294d9181 📝 Evaluator. 2018-03-02 10:41:36 -05:00
Rob Rix
62189a026e Derive the various instances for Evaluator. 2018-03-02 10:41:31 -05:00
Rob Rix
e44db3982e 📝 the MonadEvaluator methods. 2018-03-02 10:36:05 -05:00
Rob Rix
293df42d58 📝 MonadEvaluator. 2018-03-02 10:32:50 -05:00
Rob Rix
bf5ea51747 📝 abstract & apply. 2018-03-02 10:30:21 -05:00
Rob Rix
0071b25ba7 📝 MonadFunction. 2018-03-02 10:28:29 -05:00