Skip to content

Commit ae61038

Browse files
committed
Type.Infer: some explicit imports
Mainly simply to help hide the `fail` for GHC 8.6 from them.
1 parent 18350b9 commit ae61038

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

src/Nix/Type/Infer.hs

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,36 @@ module Nix.Type.Infer
2828
)
2929
where
3030

31-
import Control.Applicative
32-
import qualified Control.Applicative as Applicative
33-
import Control.Arrow
34-
import Control.Monad.Catch
35-
import Control.Monad.Except
31+
import Control.Applicative ( Alternative
32+
, empty
33+
)
34+
import Data.Bifunctor ( Bifunctor(first) )
35+
import Control.Monad.Catch ( Exception(fromException, toException)
36+
, MonadThrow(..)
37+
, MonadCatch(..)
38+
)
39+
import Control.Monad.Except ( ExceptT
40+
, MonadError(..), runExceptT
41+
)
3642
#if !MIN_VERSION_base(4,13,0)
3743
import Prelude hiding ( fail )
3844
import Control.Monad.Fail
3945
#endif
40-
import Control.Monad.Logic
41-
import Control.Monad.Reader
46+
import Control.Monad.Logic hiding ( fail )
47+
import Control.Monad.Reader ( MonadReader(local)
48+
, ReaderT(..)
49+
, MonadFix
50+
)
4251
import Control.Monad.Ref
43-
import Control.Monad.ST
44-
import Control.Monad.State.Strict
52+
import Control.Monad.ST ( ST
53+
, runST
54+
)
55+
import Control.Monad.State.Strict ( modify
56+
, evalState
57+
, evalStateT
58+
, MonadState(put, get)
59+
, StateT(runStateT)
60+
)
4561
import Data.Fix ( foldFix )
4662
import Data.Foldable ( foldl'
4763
, foldrM
@@ -68,7 +84,7 @@ import Nix.Fresh
6884
import Nix.String
6985
import Nix.Scope
7086
import qualified Nix.Type.Assumption as As
71-
import Nix.Type.Env
87+
import Nix.Type.Env hiding ( empty )
7288
import qualified Nix.Type.Env as Env
7389
import Nix.Type.Type
7490
import Nix.Utils
@@ -82,8 +98,10 @@ import Nix.Var
8298
newtype InferT s m a =
8399
InferT
84100
{ getInfer ::
85-
ReaderT (Set.Set TVar, Scopes (InferT s m) (Judgment s))
86-
(StateT InferState (ExceptT InferError m)) a
101+
ReaderT
102+
(Set.Set TVar, Scopes (InferT s m) (Judgment s))
103+
(StateT InferState (ExceptT InferError m))
104+
a
87105
}
88106
deriving
89107
( Functor
@@ -664,7 +682,7 @@ instance MonadTrans Solver where
664682
lift = Solver . lift . lift
665683

666684
instance Monad m => MonadError TypeError (Solver m) where
667-
throwError err = Solver $ lift (modify (err :)) *> Applicative.empty
685+
throwError err = Solver $ lift (modify (err :)) *> empty
668686
catchError _ _ = error "This is never used"
669687

670688
runSolver :: Monad m => Solver m a -> m (Either [TypeError] [a])

0 commit comments

Comments
 (0)