polysemy-conc-0.12.0.0: Polysemy effects for concurrency
Safe HaskellSafe-Inferred
LanguageHaskell2010

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.

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.