polysemy-conc-0.13.0.1: Polysemy effects for concurrency
Safe HaskellSafe-Inferred
LanguageGHC2021

Polysemy.Conc.Effect.Critical

Description

 
Synopsis

Documentation

data Critical :: Effect where Source #

An effect that catches exceptions.

Provides the exact functionality of fromExceptionSem, but pushes the dependency on Final IO to the interpreter, and makes it optional.

Constructors

Catch :: Exception e => m a -> Critical m (Either e a)

Catch all exceptions of type e in this computation.

catch :: forall r e a. (Member Critical r, Exception e) => Sem r a -> Sem r (Either e a) Source #

Catch all exceptions of type e in this computation.

catchAs :: forall e a r. Exception e => Member Critical r => a -> Sem r a -> Sem r a Source #

Catch exceptions of type e and return a fallback value.

run :: Member Critical r => Sem r a -> Sem r (Either SomeException a) Source #

Convenience overload for SomeException.

runAs :: Member Critical r => a -> Sem r a -> Sem r a Source #

Convenience overload for SomeException.