Hoogle Search
Within LTS Haskell 24.0 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
ExceptionWithContext :: ExceptionContext -> a -> ExceptionWithContext alifted-base Control.Exception.Lifted No documentation available.
-
explicit-exception Control.Monad.Exception.Asynchronous.Lazy Contains a value and a reason why the computation of the value of type a was terminated. Imagine a as a list type, and an according operation like the readFile operation. If the exception part is Nothing then the value could be constructed regularly. If the exception part is Just then the value could not be constructed completely. However you can read the result of type a lazily, even if an exception occurs while it is evaluated. If you evaluate the exception part, then the result value is certainly computed completely. However, we cannot provide general Monad functionality due to the very different ways of combining the results of type a. It is recommended to process the result value in an application specific way, and after consumption of the result, throw a synchronous exception using toSynchronous. Maybe in the future we provide a monad instance which considers subsequent actions as simultaneous processes on a lazy data structure. This variant has lazy combinators like fmap. This implies that some laws are not fulfilled, but in practice it saves you some calls to force.
Exceptional :: Maybe e -> a -> Exceptional e aexplicit-exception Control.Monad.Exception.Asynchronous.Lazy No documentation available.
newtype
ExceptionalT e (m :: Type -> Type) aexplicit-exception Control.Monad.Exception.Asynchronous.Lazy In contrast to synchronous exceptions, the asynchronous monad transformer is not quite a monad. You must use the Monoid interface or bindT instead.
ExceptionalT :: m (Exceptional e a) -> ExceptionalT e (m :: Type -> Type) aexplicit-exception Control.Monad.Exception.Asynchronous.Lazy No documentation available.
-
explicit-exception Control.Monad.Exception.Asynchronous.Strict Contains a value and a reason why the computation of the value of type a was terminated. Imagine a as a list type, and an according operation like the readFile operation. If the exception part is Nothing then the value could be constructed regularly. If the exception part is Just then the value could not be constructed completely. However you can read the result of type a lazily, even if an exception occurs while it is evaluated. If you evaluate the exception part, then the result value is certainly computed completely. However, we cannot provide general Monad functionality due to the very different ways of combining the results of type a. It is recommended to process the result value in an application specific way, and after consumption of the result, throw a synchronous exception using toSynchronous. Maybe in the future we provide a monad instance which considers subsequent actions as simultaneous processes on a lazy data structure.
Exceptional :: Maybe e -> a -> Exceptional e aexplicit-exception Control.Monad.Exception.Asynchronous.Strict No documentation available.
newtype
ExceptionalT e (m :: Type -> Type) aexplicit-exception Control.Monad.Exception.Asynchronous.Strict In contrast to synchronous exceptions, the asynchronous monad transformer is not quite a monad. You must use the Monoid interface or bindT instead.
ExceptionalT :: m (Exceptional e a) -> ExceptionalT e (m :: Type -> Type) aexplicit-exception Control.Monad.Exception.Asynchronous.Strict No documentation available.
-
explicit-exception Control.Monad.Exception.Synchronous Like Either, but explicitly intended for handling of exceptional results. In contrast to Either we do not support fail. Calling fail in the Exceptional monad is an error. This way, we do not require that an exception can be derived from a String, yet, we require no constraint on the exception type at all.