File tree Expand file tree Collapse file tree 6 files changed +12
-4
lines changed Expand file tree Collapse file tree 6 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -234,7 +234,7 @@ desugarBinds embed binds = evalState (mapM (go <=< collect) binds) M.empty
234234 go (Left x) = do
235235 maybeValue <- gets (M. lookup x)
236236 case maybeValue of
237- Nothing -> fail (" No binding " ++ show x)
237+ Nothing -> error (" No binding " ++ show x)
238238 Just (p, v) -> pure $ NamedVar (StaticKey x :| [] ) (embed v) p
239239
240240evalBinds
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import Control.Applicative
1616import Control.Monad.Base
1717import Control.Monad.Catch
1818import Control.Monad.Except
19+ import Control.Monad.Fail
1920import Control.Monad.Reader
2021import Control.Monad.Ref
2122import Control.Monad.ST
@@ -33,6 +34,7 @@ newtype FreshIdT i m a = FreshIdT { unFreshIdT :: ReaderT (Var m i) m a }
3334 , Applicative
3435 , Alternative
3536 , Monad
37+ , MonadFail
3638 , MonadPlus
3739 , MonadFix
3840 , MonadRef
Original file line number Diff line number Diff line change 88
99module Nix.Fresh.Basic where
1010
11+ import Control.Monad.Fail ( MonadFail )
1112import Control.Monad.Reader
1213import Nix.Effects
1314import Nix.Render
@@ -16,7 +17,7 @@ import Nix.Value
1617
1718type StdIdT = FreshIdT Int
1819
19- instance MonadFile m => MonadFile (StdIdT m )
20+ instance ( MonadFail m , MonadFile m ) => MonadFile (StdIdT m )
2021instance MonadIntrospect m => MonadIntrospect (StdIdT m )
2122instance MonadStore m => MonadStore (StdIdT m ) where
2223 addPath' = lift . addPath'
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ module Nix.Render where
1212
1313import Prelude hiding ( readFile )
1414
15+ import Control.Monad.Fail ( MonadFail )
1516import Control.Monad.Trans
1617import Data.ByteString ( ByteString )
1718import qualified Data.ByteString as BS
@@ -26,7 +27,7 @@ import qualified System.Posix.Files as S
2627import Text.Megaparsec.Error
2728import Text.Megaparsec.Pos
2829
29- class Monad m => MonadFile m where
30+ class MonadFail m => MonadFile m where
3031 readFile :: FilePath -> m ByteString
3132 default readFile :: (MonadTrans t , MonadFile m' , m ~ t m' ) => FilePath -> m ByteString
3233 readFile = lift . readFile
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ import Control.Applicative
2222import Control.Comonad ( Comonad )
2323import Control.Comonad.Env ( ComonadEnv )
2424import Control.Monad.Catch hiding ( catchJust )
25+ import Control.Monad.Fail ( MonadFail )
2526import Control.Monad.Free
2627import Control.Monad.Reader
2728import Control.Monad.Ref
@@ -94,7 +95,7 @@ instance (MonadFix1T t m, MonadRef m) => MonadRef (Fix1T t m) where
9495instance (MonadFix1T t m , MonadAtomicRef m ) => MonadAtomicRef (Fix1T t m ) where
9596 atomicModifyRef r = lift . atomicModifyRef r
9697
97- instance (MonadFix1T t m , MonadFile m ) => MonadFile (Fix1T t m )
98+ instance (MonadFix1T t m , MonadFail ( Fix1T t m ), MonadFile m ) => MonadFile (Fix1T t m )
9899
99100instance (MonadFix1T t m , MonadStore m ) => MonadStore (Fix1T t m ) where
100101 addPath' = lift . addPath'
@@ -212,6 +213,7 @@ newtype StandardTF r m a
212213 , Applicative
213214 , Alternative
214215 , Monad
216+ , MonadFail
215217 , MonadPlus
216218 , MonadFix
217219 , MonadIO
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ module Nix.Utils.Fix1 where
1111
1212import Control.Applicative
1313import Control.Monad
14+ import Control.Monad.Fail
1415import Control.Monad.Fix
1516import Control.Monad.IO.Class
1617import Control.Monad.Catch
@@ -41,6 +42,7 @@ deriving instance Functor (t (Fix1T t m) m) => Functor (Fix1T t m)
4142deriving instance Applicative (t (Fix1T t m ) m ) => Applicative (Fix1T t m )
4243deriving instance Alternative (t (Fix1T t m ) m ) => Alternative (Fix1T t m )
4344deriving instance Monad (t (Fix1T t m ) m ) => Monad (Fix1T t m )
45+ deriving instance MonadFail (t (Fix1T t m ) m ) => MonadFail (Fix1T t m )
4446deriving instance MonadPlus (t (Fix1T t m ) m ) => MonadPlus (Fix1T t m )
4547deriving instance MonadFix (t (Fix1T t m ) m ) => MonadFix (Fix1T t m )
4648deriving instance MonadIO (t (Fix1T t m ) m ) => MonadIO (Fix1T t m )
You can’t perform that action at this time.
0 commit comments