| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bluefin.Exception.GeneralBracket
Contents
Synopsis
- generalBracket :: forall r b h a (es :: Effects). Handle h => Eff es r -> MakeExceptions r a h es -> (r -> b -> Eff es a) -> (r -> Eff es ()) -> (forall (e :: Effects). h e -> r -> Eff (e :& es) b) -> Eff es a
- data MakeExceptions r a (h :: Effects -> Type) (es :: Effects)
- catchWithResource :: forall ex r a (es :: Effects). (r -> ex -> Eff es a) -> MakeExceptions r a (Exception ex) es
- pureMakeExceptions :: forall h (e :: Effects) r a. h e -> MakeExceptions r a h e
- apMakeExceptions :: forall (h1 :: Effects -> Type) (h2 :: Effects -> Type) r a (e :: Effects). (Handle h1, Handle h2) => MakeExceptions r a (h1 :~> h2) e -> MakeExceptions r a h1 e -> MakeExceptions r a h2 e
- fmapMakeExceptions :: forall (h1 :: Effects -> Type) (h2 :: Effects -> Type) (e :: Effects) r a. (Handle h1, Handle h2) => (h1 :~> h2) e -> MakeExceptions r a h1 e -> MakeExceptions r a h2 e
- data ((h1 :: Effects -> Type) :~> (h2 :: Effects -> Type)) (es :: Effects)
- abstract :: forall h2 h1 (es :: Effects). Handle h2 => (forall (e :: Effects). h1 e -> h2 (e :& es)) -> (h1 :~> h2) es
Effectful functions
generalBracket :: forall r b h a (es :: Effects). Handle h => Eff es r -> MakeExceptions r a h es -> (r -> b -> Eff es a) -> (r -> Eff es ()) -> (forall (e :: Effects). h e -> r -> Eff (e :& es) b) -> Eff es a #
Handle
data MakeExceptions r a (h :: Effects -> Type) (es :: Effects) #
Instances
| (Handle h, e <: es) => OneWayCoercible (MakeExceptions r a h e :: Type) (MakeExceptions r a h es :: Type) | |
Defined in Bluefin.Internal.Exception Methods oneWayCoercibleImpl :: OneWayCoercibleD (MakeExceptions r a h e) (MakeExceptions r a h es) # | |
| Handle h => Handle (MakeExceptions r a h) | |
Defined in Bluefin.Internal.Exception Methods handleImpl :: HandleD (MakeExceptions r a h) # | |
catchWithResource :: forall ex r a (es :: Effects). (r -> ex -> Eff es a) -> MakeExceptions r a (Exception ex) es #
pureMakeExceptions :: forall h (e :: Effects) r a. h e -> MakeExceptions r a h e #
apMakeExceptions :: forall (h1 :: Effects -> Type) (h2 :: Effects -> Type) r a (e :: Effects). (Handle h1, Handle h2) => MakeExceptions r a (h1 :~> h2) e -> MakeExceptions r a h1 e -> MakeExceptions r a h2 e #
fmapMakeExceptions :: forall (h1 :: Effects -> Type) (h2 :: Effects -> Type) (e :: Effects) r a. (Handle h1, Handle h2) => (h1 :~> h2) e -> MakeExceptions r a h1 e -> MakeExceptions r a h2 e #
:~>
data ((h1 :: Effects -> Type) :~> (h2 :: Effects -> Type)) (es :: Effects) #
Instances
| (Handle h1, Handle h2, e <: es) => OneWayCoercible ((h1 :~> h2) e :: Type) ((h1 :~> h2) es :: Type) | |
Defined in Bluefin.Internal.CloneableHandle Methods oneWayCoercibleImpl :: OneWayCoercibleD ((h1 :~> h2) e) ((h1 :~> h2) es) # | |
| (Handle h1, Handle h2) => Handle (h1 :~> h2) | |
Defined in Bluefin.Internal.CloneableHandle Methods handleImpl :: HandleD (h1 :~> h2) # | |