Skip to content

Add support for brittany (needs aeson-2) and floskell with ghc-9.0.1 #2551

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 41 commits into from
Jan 12, 2022
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
cb6ad8c
Enable tests for brittany and 9.0.2
jneira Dec 27, 2021
4dc94ce
Enable tests for floskell plugin
jneira Dec 27, 2021
9430cc6
Merge branch 'master' of https://github.com/haskell/haskell-language-…
jneira Dec 29, 2021
e2822c2
cabal-ghc901.project: naively enable brittany
Anton-Latukha Dec 12, 2021
3b46968
haskell-language-server.cabal: bump brittany flag <(9.0.1->9.2.1)
Anton-Latukha Dec 12, 2021
40b48da
Trying to add support for brittany
jneira Dec 12, 2021
6d48732
Use last hackage floskell version
jneira Dec 14, 2021
159d507
Activate floskell in func-test suite
jneira Dec 21, 2021
0cd1c52
Restrict brittany in hackage for ghc<9.0.1
jneira Dec 21, 2021
7eb59ae
Adapt to Aeson.Key
jneira Dec 21, 2021
aa29a92
Update lsp source repo package
jneira Dec 21, 2021
0a70964
Refer pr for butcher
jneira Dec 21, 2021
ab79e36
Add missing prefix
jneira Dec 21, 2021
08c5d94
Adapt to aeson-2 (incomplete)
jneira Dec 21, 2021
dfe6e37
Use compat module
jneira Dec 22, 2021
dc06c41
Support for aeson-2 and extra-1.7.10
jneira Dec 27, 2021
e419f6b
Remove lsp
jneira Dec 29, 2021
5ea7bef
Allow newer aeson for stylish-haskell
jneira Dec 29, 2021
1dbbc52
Add needed import for non windows
jneira Dec 29, 2021
b528bcd
Remove insertJson and toJsonKey
jneira Dec 29, 2021
1a7c60b
Update cabal-ghc901.project
jneira Dec 30, 2021
ad303ff
Merge branch 'master' into brittany-9.0.1
jneira Dec 30, 2021
223e6ee
Missing import
jneira Dec 30, 2021
e49c437
Merge branch 'master' into brittany-9.0.1
jneira Jan 3, 2022
eaef641
Avoid CPP by using lens-aeson
michaelpj Jan 5, 2022
2d15a5c
Update hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs
jneira Jan 5, 2022
9146431
Merge pull request #62 from michaelpj/mpj/brittany-lens
jneira Jan 5, 2022
9e33d28
Merge branch 'master' into brittany-9.0.1
jneira Jan 5, 2022
34000ba
Use ghcide compat module
jneira Jan 8, 2022
238f553
Use type alias in cpp
jneira Jan 8, 2022
31c3258
Fix stack build for ghc-8.6.5
jneira Jan 8, 2022
8afbd7c
Use lens-aeson key
jneira Jan 10, 2022
c6d56f1
Use lens-aeson in func-test
jneira Jan 10, 2022
478203c
Fixup shake-bench
michaelpj Jan 10, 2022
61e8d7f
Merge branch 'master' into brittany-9.0.1
jneira Jan 10, 2022
15b241c
Merge pull request #63 from michaelpj/mpj/shake-bench-aeson
jneira Jan 10, 2022
a545d9f
Update docs
jneira Jan 10, 2022
0f1383f
Switch to lens ix
jneira Jan 11, 2022
b81761d
Try this
michaelpj Jan 11, 2022
97a9bf3
Merge pull request #64 from michaelpj/mpj/shake-bench-aeson
jneira Jan 12, 2022
5a6b878
Merge branch 'master' into brittany-9.0.1
mergify[bot] Jan 12, 2022
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
6 changes: 5 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -225,10 +225,14 @@ jobs:

run: cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" || cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" || cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper"

- if: matrix.test && matrix.ghc != '9.0.1'
- if: matrix.test
name: Test hls-brittany-plugin
run: cabal test hls-brittany-plugin --test-options="$TEST_OPTS" || cabal test hls-brittany-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-brittany-plugin --test-options="$TEST_OPTS"

- if: matrix.test
name: Test hls-floskell-plugin
run: cabal test hls-floskell-plugin --test-options="$TEST_OPTS" || cabal test hls-floskell-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-floskell-plugin --test-options="$TEST_OPTS"

- if: matrix.test
name: Test hls-class-plugin
run: cabal test hls-class-plugin --test-options="$TEST_OPTS" || cabal test hls-class-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-class-plugin --test-options="$TEST_OPTS"
Expand Down
14 changes: 8 additions & 6 deletions cabal-ghc901.project
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,21 @@ index-state: 2021-12-29T12:30:08Z

constraints:
-- These plugins don't work on GHC9 yet
haskell-language-server +ignore-plugins-ghc-bounds -brittany -stylishhaskell -tactic,
-- Add a plugin needs remove the -flag but also update ghc bounds in hls.cabal
haskell-language-server +ignore-plugins-ghc-bounds -class -stylishhaskell -tactic,
ghc-lib-parser ^>= 9.0

-- although we are not building all plugins cabal solver phase is run for all packages
-- this way we track explicitly all transitive dependencies which need support for ghc-9
allow-newer:
brittany:base,
brittany:ghc,
brittany:ghc-boot-th,
-- for brittany
butcher:base,

-- brittany: update ghc bounds in hls.cabal when those are removed
-- https://github.com/lspitzner/multistate/pull/8
multistate:base,
-- https://github.com/lspitzner/data-tree-print/pull/3
data-tree-print:base,
-- https://github.com/lspitzner/butcher/pull/8
butcher:base,

stylish-haskell:Cabal,
stylish-haskell:ghc-lib-parser,
Expand Down
3 changes: 1 addition & 2 deletions ghcide/ghcide.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ library
dependent-sum,
dlist,
exceptions,
-- we can't use >= 1.7.10 while we have to use hlint == 3.2.*
extra >= 1.7.4 && < 1.7.10,
extra >= 1.7.4,
fuzzy,
filepath,
fingertree,
Expand Down
11 changes: 6 additions & 5 deletions ghcide/src/Control/Concurrent/Strict.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,32 @@ module Control.Concurrent.Strict
,module Control.Concurrent.Extra
) where

import Control.Concurrent.Extra hiding (modifyVar, modifyVar_)
import Control.Concurrent.Extra hiding (modifyVar, modifyVar',
modifyVar_)
import qualified Control.Concurrent.Extra as Extra
import Control.Exception (evaluate)
import Control.Monad (void)
import Data.Tuple.Extra (dupe)

-- | Strict modification that returns the new value
modifyVar' :: Var a -> (a -> a) -> IO a
modifyVar' :: Extra.Var a -> (a -> a) -> IO a
modifyVar' var upd = modifyVarIO' var (pure . upd)

-- | Strict modification that returns the new value
modifyVarIO' :: Var a -> (a -> IO a) -> IO a
modifyVarIO' :: Extra.Var a -> (a -> IO a) -> IO a
modifyVarIO' var upd = do
res <- Extra.modifyVar var $ \v -> do
v' <- upd v
pure $ dupe v'
evaluate res

modifyVar :: Var a -> (a -> IO (a, b)) -> IO b
modifyVar :: Extra.Var a -> (a -> IO (a, b)) -> IO b
modifyVar var upd = do
(new, res) <- Extra.modifyVar var $ \old -> do
(new,res) <- upd old
return (new, (new, res))
void $ evaluate new
return res

modifyVar_ :: Var a -> (a -> IO a) -> IO ()
modifyVar_ :: Extra.Var a -> (a -> IO a) -> IO ()
modifyVar_ var upd = void $ modifyVarIO' var upd
21 changes: 11 additions & 10 deletions ghcide/src/Development/IDE/GHC/Orphans.hs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import Retrie.ExactPrint (Annotated)

import Development.IDE.GHC.Compat
import Development.IDE.GHC.Util
import Ide.Compat (toJsonKey)

import Control.DeepSeq
import Data.Aeson
Expand Down Expand Up @@ -132,24 +133,24 @@ srcSpanEndColTag = "srcSpanEndCol"
instance ToJSON RealSrcSpan where
toJSON spn =
object
[ srcSpanFileTag .= unpackFS (srcSpanFile spn)
, srcSpanStartLineTag .= srcSpanStartLine spn
, srcSpanStartColTag .= srcSpanStartCol spn
, srcSpanEndLineTag .= srcSpanEndLine spn
, srcSpanEndColTag .= srcSpanEndCol spn
[ toJsonKey srcSpanFileTag .= unpackFS (srcSpanFile spn)
, toJsonKey srcSpanStartLineTag .= srcSpanStartLine spn
, toJsonKey srcSpanStartColTag .= srcSpanStartCol spn
, toJsonKey srcSpanEndLineTag .= srcSpanEndLine spn
, toJsonKey srcSpanEndColTag .= srcSpanEndCol spn
]

instance FromJSON RealSrcSpan where
parseJSON = withObject "object" $ \obj -> do
file <- fromString <$> (obj .: srcSpanFileTag)
file <- fromString <$> (obj .: toJsonKey srcSpanFileTag)
mkRealSrcSpan
<$> (mkRealSrcLoc file
<$> obj .: srcSpanStartLineTag
<*> obj .: srcSpanStartColTag
<$> obj .: toJsonKey srcSpanStartLineTag
<*> obj .: toJsonKey srcSpanStartColTag
)
<*> (mkRealSrcLoc file
<$> obj .: srcSpanEndLineTag
<*> obj .: srcSpanEndColTag
<$> obj .: toJsonKey srcSpanEndLineTag
<*> obj .: toJsonKey srcSpanEndColTag
)

instance NFData Type where
Expand Down
4 changes: 2 additions & 2 deletions haskell-language-server.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ common qualifyImportedNames
-- formatters

common floskell
if flag(floskell) && (impl(ghc < 9.0.1) || flag(ignore-plugins-ghc-bounds))
if flag(floskell) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
build-depends: hls-floskell-plugin ^>=1.0.0.0
cpp-options: -Dfloskell

Expand Down Expand Up @@ -472,7 +472,7 @@ test-suite func-test
if flag(eval)
cpp-options: -Deval
-- formatters
if flag(floskell) && (impl(ghc < 9.0.1) || flag(ignore-plugins-ghc-bounds))
if flag(floskell) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
cpp-options: -Dfloskell
if flag(fourmolu) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
cpp-options: -Dfourmolu
Expand Down
1 change: 1 addition & 0 deletions hls-plugin-api/hls-plugin-api.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ source-repository head

library
exposed-modules:
Ide.Compat
Ide.Logger
Ide.Plugin.Config
Ide.Plugin.ConfigUtils
Expand Down
38 changes: 38 additions & 0 deletions hls-plugin-api/src/Ide/Compat.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{-# LANGUAGE CPP #-}
module Ide.Compat where

#if MIN_VERSION_aeson(2,0,0)
import Data.Aeson.Key as A (Key)
import qualified Data.Aeson.Key as A.Key
import qualified Data.Aeson.KeyMap as A
import Data.Functor.Identity (Identity (..), runIdentity)
#else
import qualified Data.HashMap.Lazy as Map
#endif
import Data.Aeson as A (Value)
import Data.Text as T

#if MIN_VERSION_aeson(2,0,0)
toJsonKey :: T.Text -> A.Key
toJsonKey = A.Key.fromText
#else
toJsonKey :: T.Text -> T.Text
toJsonKey = id
#endif

#if MIN_VERSION_aeson(2,0,0)
insertJson :: A.Key -> A.Value -> A.KeyMap A.Value -> A.KeyMap A.Value
insertJson = A.insert
#else
insertJson :: T.Text -> A.Value -> Map.HashMap T.Text A.Value -> Map.HashMap T.Text A.Value
insertJson = Map.insert
#endif


#if MIN_VERSION_aeson(2,0,0)
adjustJson :: (A.Value -> A.Value) -> A.Key -> A.KeyMap A.Value -> A.KeyMap A.Value
adjustJson f k = runIdentity . A.alterF (Identity . fmap f) k
#else
adjustJson :: (A.Value -> A.Value) -> T.Text -> Map.HashMap T.Text A.Value -> Map.HashMap T.Text A.Value
adjustJson = Map.adjust
#endif
27 changes: 14 additions & 13 deletions hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import qualified Data.Aeson.Types as A
import Data.Default (def)
import qualified Data.Dependent.Map as DMap
import qualified Data.Dependent.Sum as DSum
import qualified Data.HashMap.Lazy as HMap
import Data.List (nub)
import Ide.Compat (adjustJson, insertJson, toJsonKey)
import Ide.Plugin.Config
import Ide.Plugin.Properties (toDefaultJSON, toVSCodeExtensionSchema)
import Ide.Types
Expand All @@ -26,9 +26,9 @@ import Language.LSP.Types
pluginsToDefaultConfig :: IdePlugins a -> A.Value
pluginsToDefaultConfig IdePlugins {..} =
A.Object $
HMap.adjust
adjustJson
( \(unsafeValueToObject -> o) ->
A.Object $ HMap.insert "plugin" elems o -- inplace the "plugin" section with our 'elems', leaving others unchanged
A.Object $ insertJson "plugin" elems o -- inplace the "plugin" section with our 'elems', leaving others unchanged
)
"haskell"
(unsafeValueToObject (A.toJSON defaultConfig))
Expand All @@ -52,7 +52,7 @@ pluginsToDefaultConfig IdePlugins {..} =
-- }
singlePlugin PluginDescriptor {pluginConfigDescriptor = ConfigDescriptor {..}, ..} =
let x = genericDefaultConfig <> dedicatedDefaultConfig
in [pId A..= A.object x | not $ null x]
in [toJsonKey pId A..= A.object x | not $ null x]
where
(PluginHandlers (DMap.toList -> handlers)) = pluginHandlers
customConfigToDedicatedDefaultConfig (CustomConfig p) = toDefaultJSON p
Expand Down Expand Up @@ -107,22 +107,22 @@ pluginsToVSCodeExtensionSchema IdePlugins {..} = A.object $ mconcat $ singlePlug
(PluginId pId) = pluginId
genericSchema =
let x =
[withIdPrefix "diagnosticsOn" A..= schemaEntry "diagnostics" | configHasDiagnostics]
[toKey' "diagnosticsOn" A..= schemaEntry "diagnostics" | configHasDiagnostics]
<> nub (mconcat (handlersToGenericSchema <$> handlers))
in case x of
-- If the plugin has only one capability, we produce globalOn instead of the specific one;
-- otherwise we don't produce globalOn at all
[_] -> [withIdPrefix "globalOn" A..= schemaEntry "plugin"]
[_] -> [toKey' "globalOn" A..= schemaEntry "plugin"]
_ -> x
dedicatedSchema = customConfigToDedicatedSchema configCustomConfig
handlersToGenericSchema (IdeMethod m DSum.:=> _) = case m of
STextDocumentCodeAction -> [withIdPrefix "codeActionsOn" A..= schemaEntry "code actions"]
STextDocumentCodeLens -> [withIdPrefix "codeLensOn" A..= schemaEntry "code lenses"]
STextDocumentRename -> [withIdPrefix "renameOn" A..= schemaEntry "rename"]
STextDocumentHover -> [withIdPrefix "hoverOn" A..= schemaEntry "hover"]
STextDocumentDocumentSymbol -> [withIdPrefix "symbolsOn" A..= schemaEntry "symbols"]
STextDocumentCompletion -> [withIdPrefix "completionOn" A..= schemaEntry "completions"]
STextDocumentPrepareCallHierarchy -> [withIdPrefix "callHierarchyOn" A..= schemaEntry "call hierarchy"]
STextDocumentCodeAction -> [toKey' "codeActionsOn" A..= schemaEntry "code actions"]
STextDocumentCodeLens -> [toKey' "codeLensOn" A..= schemaEntry "code lenses"]
STextDocumentRename -> [toKey' "renameOn" A..= schemaEntry "rename"]
STextDocumentHover -> [toKey' "hoverOn" A..= schemaEntry "hover"]
STextDocumentDocumentSymbol -> [toKey' "symbolsOn" A..= schemaEntry "symbols"]
STextDocumentCompletion -> [toKey' "completionOn" A..= schemaEntry "completions"]
STextDocumentPrepareCallHierarchy -> [toKey' "callHierarchyOn" A..= schemaEntry "call hierarchy"]
_ -> []
schemaEntry desc =
A.object
Expand All @@ -132,3 +132,4 @@ pluginsToVSCodeExtensionSchema IdePlugins {..} = A.object $ mconcat $ singlePlug
"description" A..= A.String ("Enables " <> pId <> " " <> desc)
]
withIdPrefix x = "haskell.plugin." <> pId <> "." <> x
toKey' = toJsonKey . withIdPrefix
12 changes: 7 additions & 5 deletions hls-plugin-api/src/Ide/Plugin/Properties.hs
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ import Data.Proxy (Proxy (..))
import qualified Data.Text as T
import GHC.OverloadedLabels (IsLabel (..))
import GHC.TypeLits
import Ide.Compat (toJsonKey)
import Unsafe.Coerce (unsafeCoerce)

-- | Types properties may have
Expand Down Expand Up @@ -162,6 +163,7 @@ type HasProperty s k t r = (k ~ 'PropertyKey s t, Elem s r, FindByKeyName s r ~
-- "Description of exampleNumber"
-- 233
-- @

emptyProperties :: Properties '[]
emptyProperties = Properties Map.empty

Expand Down Expand Up @@ -235,7 +237,7 @@ parseProperty kn k x = case k of
(SEnum _, EnumMetaData {..}) ->
A.parseEither
( \o -> do
txt <- o A..: keyName
txt <- o A..: key
if txt `elem` enumValues
then pure txt
else
Expand All @@ -247,9 +249,9 @@ parseProperty kn k x = case k of
)
x
where
keyName = T.pack $ symbolVal kn
key = toJsonKey . T.pack $ symbolVal kn
parseEither :: forall a. A.FromJSON a => Either String a
parseEither = A.parseEither (A..: keyName) x
parseEither = A.parseEither (A..: key) x

-- ---------------------------------------------------------------------

Expand Down Expand Up @@ -352,7 +354,7 @@ toDefaultJSON :: Properties r -> [A.Pair]
toDefaultJSON (Properties p) = [toEntry s v | (s, v) <- Map.toList p]
where
toEntry :: String -> SomePropertyKeyWithMetaData -> A.Pair
toEntry (T.pack -> s) = \case
toEntry (toJsonKey . T.pack -> s) = \case
(SomePropertyKeyWithMetaData SNumber MetaData {..}) ->
s A..= defaultValue
(SomePropertyKeyWithMetaData SInteger MetaData {..}) ->
Expand All @@ -371,7 +373,7 @@ toDefaultJSON (Properties p) = [toEntry s v | (s, v) <- Map.toList p]
-- | Converts a properties definition into kv pairs as vscode schema
toVSCodeExtensionSchema :: T.Text -> Properties r -> [A.Pair]
toVSCodeExtensionSchema prefix (Properties p) =
[(prefix <> T.pack k) A..= toEntry v | (k, v) <- Map.toList p]
[toJsonKey (prefix <> T.pack k) A..= toEntry v | (k, v) <- Map.toList p]
where
toEntry :: SomePropertyKeyWithMetaData -> A.Value
toEntry = \case
Expand Down
1 change: 0 additions & 1 deletion hls-plugin-api/src/Ide/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import qualified System.Posix.Process as P (getProcessID)
import System.Posix.Signals
#endif
import Control.Lens ((^.))
import Control.Monad
import Data.Aeson hiding (defaultOptions)
import qualified Data.DList as DList
import qualified Data.Default
Expand Down
2 changes: 2 additions & 0 deletions stack-8.10.6.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ extra-deps:
- brittany-0.13.1.2@sha256:9922614f1df18c63755a37c144033988788e0769fd9c2630b64ed0dfb49462bd,8197
- bytestring-encoding-0.1.1.0@sha256:1c3b97eb6345fd7153006211c8272215cd78bb0cf440c41185290822f1e3f2c2,1738
- data-tree-print-0.1.0.2@sha256:d845e99f322df70e0c06d6743bf80336f5918d5423498528beb0593a2afc1703,1620
- extra-1.7.10
- floskell-0.10.5@sha256:77f0bc1569573d9666b10975a5357fef631d32266c071733739393ccae521dab,3803
- heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417
- hie-bios-0.8.0
- hiedb-0.4.1.0
- hlint-3.2.8
- implicit-hie-0.1.2.6@sha256:f50a908979a574a881f753c0f9a5224f023f438b30fdefc5b7fa01803b07a280,2998
- implicit-hie-cradle-0.3.0.5@sha256:5f5e575f549b2a9db664be7650b5c3c9226e313bddc46c79e2e83eb349f8e692,2610
- lsp-1.4.0.0
Expand Down
2 changes: 2 additions & 0 deletions stack-8.10.7.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,12 @@ extra-deps:
- brittany-0.13.1.2@sha256:9922614f1df18c63755a37c144033988788e0769fd9c2630b64ed0dfb49462bd,8197
- bytestring-encoding-0.1.1.0@sha256:1c3b97eb6345fd7153006211c8272215cd78bb0cf440c41185290822f1e3f2c2,1738
- data-tree-print-0.1.0.2@sha256:d845e99f322df70e0c06d6743bf80336f5918d5423498528beb0593a2afc1703,1620
- extra-1.7.10
- floskell-0.10.5@sha256:77f0bc1569573d9666b10975a5357fef631d32266c071733739393ccae521dab,3803
- heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417
- hie-bios-0.8.0
- hiedb-0.4.1.0
- hlint-3.2.8
- implicit-hie-0.1.2.6@sha256:f50a908979a574a881f753c0f9a5224f023f438b30fdefc5b7fa01803b07a280,2998
- implicit-hie-cradle-0.3.0.5@sha256:5f5e575f549b2a9db664be7650b5c3c9226e313bddc46c79e2e83eb349f8e692,2610
- lsp-1.4.0.0
Expand Down
4 changes: 2 additions & 2 deletions stack-8.6.5.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ extra-deps:
- cabal-plan-0.6.2.0
- clock-0.7.2
- Diff-0.4.0
- extra-1.7.10
- floskell-0.10.4
- fourmolu-0.3.0.0
- fuzzy-0.1.0.1
Expand All @@ -61,7 +62,7 @@ extra-deps:
- hashable-1.3.0.0
- heapsize-0.3.0
- hie-bios-0.8.0
- hlint-3.2.3
- hlint-3.2.8
- HsYAML-0.2.1.0@rev:1
- HsYAML-aeson-0.2.0.0@rev:2
- implicit-hie-cradle-0.3.0.5
Expand Down Expand Up @@ -95,7 +96,6 @@ extra-deps:
- th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854
- bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727
- hiedb-0.4.1.0
- extra-1.7.9@sha256:f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0,2683
- dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657
- dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068
- dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682
Expand Down
3 changes: 2 additions & 1 deletion stack-8.8.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ extra-deps:
- cabal-plan-0.6.2.0
- clock-0.7.2
- constrained-dynamic-0.1.0.0
- extra-1.7.10
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-check-0.5.0.4
Expand All @@ -51,7 +52,7 @@ extra-deps:
- haskell-src-exts-1.21.1
- heapsize-0.3.0
- hie-bios-0.8.0
- hlint-3.2.3
- hlint-3.2.8
- HsYAML-aeson-0.2.0.0@rev:2
- hoogle-5.0.17.11
- hsimport-0.11.0
Expand Down
Loading