From c34cfe00bbddb79619129a24086dd763f47cedbc Mon Sep 17 00:00:00 2001 From: Alan Zimmerman Date: Sun, 11 Nov 2018 17:02:56 +0200 Subject: [PATCH] Add MonadFail constraint for GHC 8.6.1 And bump haskell-lsp and resolver --- src/Language/Haskell/LSP/Test/Session.hs | 9 +++++++++ stack.yaml | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Language/Haskell/LSP/Test/Session.hs b/src/Language/Haskell/LSP/Test/Session.hs index a2cd380..28d4edd 100644 --- a/src/Language/Haskell/LSP/Test/Session.hs +++ b/src/Language/Haskell/LSP/Test/Session.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} @@ -32,6 +33,9 @@ import Control.Lens hiding (List) import Control.Monad import Control.Monad.IO.Class import Control.Monad.Except +#if __GLASGOW_HASKELL__ >= 806 +import qualified Control.Monad.Fail as Fail +#endif import Control.Monad.Trans.Reader (ReaderT, runReaderT) import qualified Control.Monad.Trans.Reader as Reader (ask) import Control.Monad.Trans.State (StateT, runStateT) @@ -144,6 +148,11 @@ instance Monad m => HasState SessionState (ConduitM a b (StateT SessionState m)) type ParserStateReader a s r m = ConduitParser a (StateT s (ReaderT r m)) +#if __GLASGOW_HASKELL__ >= 806 +instance (Fail.MonadFail m) => Fail.MonadFail (ParserStateReader a s r m) where + fail = Fail.fail +#endif + runSession :: SessionContext -> SessionState -> Session a -> IO (a, SessionState) runSession context state session = runReaderT (runStateT conduit state) context where diff --git a/stack.yaml b/stack.yaml index b229bb8..2c97f95 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,7 +1,7 @@ -resolver: lts-12.9 +resolver: lts-12.17 packages: - . extra-deps: - - haskell-lsp-0.8.0.0 - - haskell-lsp-types-0.8.0.0 + - haskell-lsp-0.8.0.1 + - haskell-lsp-types-0.8.0.1 -- 2.30.2