bluefin-internal-0.11.0.0: The Bluefin effect system, internals
Safe HaskellNone
LanguageHaskell2010

Bluefin.Internal.Capability.ThrowCatch

Synopsis

Documentation

data ThrowCatch ex (e :: Effects) Source #

A scoped exception capability that can catch within its own scope.

Instances

Instances details
e <: es => OneWayCoercible (ThrowCatch ex e :: Type) (ThrowCatch ex es :: Type) Source # 
Instance details

Defined in Bluefin.Internal

Handle (ThrowCatch ex) Source # 
Instance details

Defined in Bluefin.Internal

throw Source #

Arguments

:: forall (e :: Effects) (es :: Effects) ex a. e <: es 
=> ThrowCatch ex e 
-> ex 
-> Eff es a

͘

try Source #

Arguments

:: forall ex (es :: Effects) a. (forall (e :: Effects). ThrowCatch ex e -> Eff (e :& es) a) 
-> Eff es (Either ex a)

͘

catch Source #

Arguments

:: forall ex (es :: Effects) a. (forall (e :: Effects). ThrowCatch ex e -> Eff (e :& es) a) 
-> (ex -> Eff es a) 
-> Eff es a

͘

handle Source #

Arguments

:: forall ex (es :: Effects) a. (ex -> Eff es a) 
-> (forall (e :: Effects). ThrowCatch ex e -> Eff (e :& es) a) 
-> Eff es a

͘

localTry Source #

Arguments

:: forall (e :: Effects) (es :: Effects) ex a. e <: es 
=> ThrowCatch ex e 
-> Eff es a 
-> Eff es (Either ex a)

͘

localHandle Source #

Arguments

:: forall (e :: Effects) (es :: Effects) ex a. e <: es 
=> ThrowCatch ex e 
-> (ex -> Eff es a) 
-> Eff es a 
-> Eff es a

͘

localCatch Source #

Arguments

:: forall (e :: Effects) (es :: Effects) ex a. e <: es 
=> ThrowCatch ex e 
-> Eff es a 
-> (ex -> Eff es a) 
-> Eff es a

͘