Skip to content

Separate tactics into its own package #516

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 54 commits into from
Oct 19, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
3527cd2
WIP recursion
isovector Oct 3, 2020
da2d729
Better scoring heuristic
isovector Oct 4, 2020
b805aa9
Don't trace scoring
isovector Oct 4, 2020
1dbec5b
Add fromMaybe test
isovector Oct 4, 2020
803c8d7
wtf; recursion stack frame doesnt seem to work
isovector Oct 4, 2020
fe468f3
Better debugging and smarter apply'
isovector Oct 5, 2020
68cda51
filterT
isovector Oct 5, 2020
a480c19
Fix FilterT
TOTBWF Oct 5, 2020
8fa2a83
derive foldr
isovector Oct 5, 2020
6dee3a2
Merge branch 'recursion-frame-wtf' of github.com:isovector/haskell-la…
isovector Oct 5, 2020
a6e40e1
Test for foldr
isovector Oct 5, 2020
7981a71
Fix JoinCont test
isovector Oct 5, 2020
69d122b
Use generic-lens
isovector Oct 5, 2020
a781803
Positionally-aware recursion
isovector Oct 6, 2020
60ebb74
almost generate fmap for binary tree
isovector Oct 6, 2020
9714f7e
timeout tactic if it's too slow
isovector Oct 6, 2020
3ac43d8
Simpler recursive hypothesis
isovector Oct 6, 2020
89a488a
Remove current position from jdg
isovector Oct 6, 2020
c774fe1
Restrict homomorphic splits to positional args
isovector Oct 6, 2020
4b682a2
Silence a trace
isovector Oct 6, 2020
ab2e592
Better data provenance
isovector Oct 7, 2020
5ddd360
Support multiple positional binding sets
isovector Oct 7, 2020
a3dc935
Prune destructing on pattern vals if they don't introduce new types
isovector Oct 7, 2020
abd365f
Fix pruning to actually run the tactic
isovector Oct 8, 2020
8d53032
Count duplicates
isovector Oct 8, 2020
b8b0d0d
?
isovector Oct 8, 2020
ec13e9f
Don't allow splitting if it doesn't buy you anything
isovector Oct 8, 2020
683c791
Known fmap strategy
isovector Oct 8, 2020
4114d03
Commit to a known solution if one exists
isovector Oct 9, 2020
6ff6504
Compute top level position vals
isovector Oct 9, 2020
29858b0
Add tophole to jdg
isovector Oct 9, 2020
929bcc9
Cleanup ugly hack in intros! \o/
isovector Oct 9, 2020
3272a1e
Fix improperly pruning split of split
isovector Oct 9, 2020
30c9b58
Tracing
isovector Oct 11, 2020
6b8a0b9
unpack introduced bindings
isovector Oct 11, 2020
872cfec
Slightly better format
isovector Oct 11, 2020
8a416d9
compress ppr tree
isovector Oct 11, 2020
621a04d
Merge pull request #26 from isovector/tracing
isovector Oct 13, 2020
8e69004
Fix splitAuto
isovector Oct 13, 2020
a84195c
Cleanup traces
isovector Oct 13, 2020
5f44746
Fix autosplit
isovector Oct 13, 2020
04774c1
Merge branch 'master' into recursion
isovector Oct 16, 2020
4eca10d
Update refinery
isovector Oct 16, 2020
de0cfb9
Attempt GHC compatability
isovector Oct 16, 2020
1b70cee
cpp nightmares
isovector Oct 16, 2020
b700c35
type syn of type syn
isovector Oct 16, 2020
25b9133
wtfff
isovector Oct 16, 2020
baac450
maybe this time
isovector Oct 16, 2020
c6e10fd
omg plzz 810
isovector Oct 16, 2020
c26f9ba
dsgjdsgidgjis
isovector Oct 16, 2020
71d0939
Split tactics into a separate package
isovector Oct 19, 2020
91f3be0
Tactics don't have tests, so CI doesn't need to change
isovector Oct 19, 2020
f3ab987
Merge branch 'master' into separate-tactics
isovector Oct 19, 2020
b2e1fb3
Oops; bad merge
isovector Oct 19, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ packages:
./
ghcide
hls-plugin-api
./plugins/tactics

source-repository-package
type: git
Expand Down
24 changes: 2 additions & 22 deletions haskell-language-server.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ library
executable haskell-language-server
import: agpl, common-deps
main-is: Main.hs
hs-source-dirs: exe plugins/default/src plugins/tactics/src
hs-source-dirs: exe plugins/default/src
other-modules:
Ide.Plugin.Eval
Ide.Plugin.Example
Expand All @@ -93,21 +93,6 @@ executable haskell-language-server
Ide.Plugin.Pragmas
Ide.Plugin.Retrie
Ide.Plugin.StylishHaskell
Ide.Plugin.Tactic
Ide.Plugin.Tactic.Auto
Ide.Plugin.Tactic.CodeGen
Ide.Plugin.Tactic.Context
Ide.Plugin.Tactic.Debug
Ide.Plugin.Tactic.GHC
Ide.Plugin.Tactic.Judgements
Ide.Plugin.Tactic.KnownStrategies
Ide.Plugin.Tactic.Machinery
Ide.Plugin.Tactic.Naming
Ide.Plugin.Tactic.Range
Ide.Plugin.Tactic.Tactics
Ide.Plugin.Tactic.Types
Ide.Plugin.Tactic.TestTypes
Ide.TreeTransform

ghc-options:
-threaded -Wall -Wno-name-shadowing -Wredundant-constraints
Expand Down Expand Up @@ -135,6 +120,7 @@ executable haskell-language-server
, haskell-language-server
, haskell-lsp ^>=0.22
, hls-plugin-api
, hls-tactics-plugin
, lens
, ormolu ^>=0.1.2
, regex-tdfa
Expand All @@ -153,15 +139,9 @@ executable haskell-language-server
, stylish-haskell ^>=0.12
, temporary
, text
, syb
, time
, transformers
, unordered-containers
, ghc-source-gen
, refinery ^>=0.3
, ghc-exactprint
, fingertree
, generic-lens

if flag(agpl)
build-depends: brittany
Expand Down
2 changes: 1 addition & 1 deletion hie.yaml.cbl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ cradle:
component: "haskell-language-server:exe:haskell-language-server"

- path: "./plugins/tactics/src"
component: "haskell-language-server:exe:haskell-language-server"
component: "lib:hls-tactics-plugin"

- path: "./exe/Wrapper.hs"
component: "haskell-language-server:exe:haskell-language-server-wrapper"
Expand Down
2 changes: 1 addition & 1 deletion hie.yaml.stack
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ cradle:
- path: "./plugins/default/src"
component: "haskell-language-server:exe:haskell-language-server"
- path: "./plugins/tactics/src"
component: "haskell-language-server:exe:haskell-language-server"
component: "hls-tactics-plugin:lib:hls-tactics-plugin"

- path: "./exe/Arguments.hs"
component: "haskell-language-server:exe:haskell-language-server"
Expand Down
1 change: 0 additions & 1 deletion plugins/default/src/Ide/Plugin/ModuleName.hs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ import Development.IDE.Core.Shake
import Data.Text ( pack )
import System.Directory ( canonicalizePath )
import Data.List
import Ide.Plugin.Tactic.Debug ( unsafeRender )
-- |Plugin descriptor
descriptor :: PluginId -> PluginDescriptor
descriptor plId = (defaultPluginDescriptor plId)
Expand Down
80 changes: 80 additions & 0 deletions plugins/tactics/hls-tactics-plugin.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
cabal-version: 2.2
category: Development
name: hls-tactics-plugin
version: 0.5.1.0
synopsis: LSP server for GHC
description:
Please see the README on GitHub at <https://github.com/isovector/hls-tactics-plugin#readme>

homepage: https://github.com/isovector/hls-tactics-plugin#readme
bug-reports: https://github.com/isovector/hls-tactics-plugin/issues
author: Sandy Maguire, Reed Mullanix
maintainer: sandy@sandymaguire.me
copyright: Sandy Maguire, Reed Mullanix
-- license: Apache-2.0
-- license-file: LICENSE
build-type: Simple
-- extra-source-files:
-- README.md
-- ChangeLog.md

flag pedantic
description: Enable -Werror
default: False
manual: True

source-repository head
type: git
location: https://github.com/isovector/hls-tactics-plugin

library
hs-source-dirs: src
exposed-modules:
Ide.Plugin.Tactic
Ide.Plugin.Tactic.Auto
Ide.Plugin.Tactic.CodeGen
Ide.Plugin.Tactic.Context
Ide.Plugin.Tactic.Debug
Ide.Plugin.Tactic.GHC
Ide.Plugin.Tactic.Judgements
Ide.Plugin.Tactic.KnownStrategies
Ide.Plugin.Tactic.Machinery
Ide.Plugin.Tactic.Naming
Ide.Plugin.Tactic.Range
Ide.Plugin.Tactic.Tactics
Ide.Plugin.Tactic.Types
Ide.Plugin.Tactic.TestTypes
Ide.TreeTransform

ghc-options:
-Wno-name-shadowing -Wredundant-constraints
if flag(pedantic)
ghc-options: -Werror

build-depends:
, aeson
, base >=4.12 && <5
, containers
, directory
, extra
, filepath
, fingertree
, generic-lens
, ghc
, ghc-boot-th
, ghc-exactprint
, ghc-source-gen
, ghcide >=0.1
, haskell-lsp ^>=0.22
, hls-plugin-api
, lens
, mtl
, refinery ^>=0.3
, retrie >=0.1.1.0
, shake >=0.17.5
, syb
, text
, transformers

default-language: Haskell2010

1 change: 1 addition & 0 deletions stack-8.10.1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down
1 change: 1 addition & 0 deletions stack-8.10.2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down
1 change: 1 addition & 0 deletions stack-8.6.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down
1 change: 1 addition & 0 deletions stack-8.6.5.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down
1 change: 1 addition & 0 deletions stack-8.8.2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down
1 change: 1 addition & 0 deletions stack-8.8.3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down
1 change: 1 addition & 0 deletions stack-8.8.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ packages:
- .
- ./ghcide/
- ./hls-plugin-api
- ./plugins/tactics

ghc-options:
"$everything": -haddock
Expand Down