module Agda.Utils.Except
( Error(noMsg, strMsg)
, ExceptT
, mapExceptT
, mkExceptT
, MonadError(catchError, throwError)
, runExceptT
) where
import Control.Monad.Except
mkExceptT :: m (Either e a) -> ExceptT e m a
mkExceptT :: m (Either e a) -> ExceptT e m a
mkExceptT = m (Either e a) -> ExceptT e m a
forall e (m :: * -> *) a. m (Either e a) -> ExceptT e m a
ExceptT
class Error a where
noMsg :: a
strMsg :: String -> a
noMsg = String -> a
forall a. Error a => String -> a
strMsg String
""
strMsg String
_ = a
forall a. Error a => a
noMsg
instance Error String where
strMsg :: String -> String
strMsg = String -> String
forall a. a -> a
id