| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bluefin.IO
Synopsis
- data IOE (e :: Effects)
- runEff :: (forall (e :: Effects). IOE e -> Eff e a) -> IO a
- effIO :: forall (e :: Effects) (es :: Effects) a. e <: es => IOE e -> IO a -> Eff es a
- rethrowIO :: forall ex (es :: Effects) (e1 :: Effects) (e2 :: Effects) r. (e1 <: es, e2 <: es, Exception ex) => IOE e1 -> Exception ex e2 -> Eff es r -> Eff es r
- withMonadIO :: forall (e :: Effects) (es :: Effects) r. e <: es => IOE e -> (forall (m :: Type -> Type). MonadIO m => m r) -> Eff es r
- withEffToIO_ :: forall (e :: Effects) (es :: Effects) a. e <: es => IOE e -> ((forall r. Eff es r -> IO r) -> IO a) -> Eff es a
- withEffToIOCloneHandle :: forall (e1 :: Effects) (es :: Effects) h a. (e1 <: es, CloneableHandle h) => IOE e1 -> h es -> ((forall r. (forall (e :: Effects). IOE e -> h e -> Eff e r) -> IO r) -> IO a) -> Eff es a
- data EffReader r (es :: Effects) a
- effReader :: forall r (es :: Effects) a. (r -> Eff es a) -> EffReader r es a
- runEffReader :: forall r (es :: Effects) a. r -> EffReader r es a -> Eff es a
- withEffToIO :: forall (e2 :: Effects) (es :: Effects) a. e2 <: es => ((forall r. (forall (e1 :: Effects). IOE e1 -> Eff (e1 :& es) r) -> IO r) -> IO a) -> IOE e2 -> Eff es a
- runEff_ :: (forall (e :: Effects). IOE e -> Eff e a) -> IO a
Documentation
You can run IO operations inside Eff.
Capability
Instances
| Handle IOE | |
Defined in Bluefin.Internal Methods handleImpl :: HandleD IOE # | |
| CloneableHandle IOE | |
Defined in Bluefin.Internal.CloneableHandle Methods cloneableHandleImpl :: CloneableHandleD IOE | |
| e <: es => OneWayCoercible (IOE e :: Type) (IOE es :: Type) | |
Defined in Bluefin.Internal Methods oneWayCoercibleImpl :: OneWayCoercibleD (IOE e) (IOE es) # | |
| e <: es => MonadBaseControl IO (EffReader (IOE e) es) | |
| e <: es => MonadBase IO (EffReader (IOE e) es) | |
Defined in Bluefin.Internal | |
| e <: es => MonadIO (EffReader (IOE e) es) | |
Defined in Bluefin.Internal | |
| e <: es => MonadUnliftIO (EffReader (IOE e) es) | |
Defined in Bluefin.Internal Methods withRunInIO :: ((forall a. EffReader (IOE e) es a -> IO a) -> IO b) -> EffReader (IOE e) es b | |
| type StM (EffReader (IOE e) es) a | |
Defined in Bluefin.Internal | |
Handlers
Effectful operations
rethrowIO :: forall ex (es :: Effects) (e1 :: Effects) (e2 :: Effects) r. (e1 <: es, e2 <: es, Exception ex) => IOE e1 -> Exception ex e2 -> Eff es r -> Eff es r #
IO type classes
withMonadIO :: forall (e :: Effects) (es :: Effects) r. e <: es => IOE e -> (forall (m :: Type -> Type). MonadIO m => m r) -> Eff es r #
withEffToIO_ :: forall (e :: Effects) (es :: Effects) a. e <: es => IOE e -> ((forall r. Eff es r -> IO r) -> IO a) -> Eff es a #
withEffToIOCloneHandle :: forall (e1 :: Effects) (es :: Effects) h a. (e1 <: es, CloneableHandle h) => IOE e1 -> h es -> ((forall r. (forall (e :: Effects). IOE e -> h e -> Eff e r) -> IO r) -> IO a) -> Eff es a #
EffReader
data EffReader r (es :: Effects) a #
Instances
| e <: es => MonadBaseControl IO (EffReader (IOE e) es) | |
| e <: es => MonadBase IO (EffReader (IOE e) es) | |
Defined in Bluefin.Internal | |
| e <: es => MonadFail (EffReader (Exception String e) es) | |
Defined in Bluefin.Internal | |
| e <: es => MonadIO (EffReader (IOE e) es) | |
Defined in Bluefin.Internal | |
| Applicative (EffReader r es) | |
Defined in Bluefin.Internal | |
| Functor (EffReader r es) | |
| Monad (EffReader r es) | |
| e <: es => MonadUnliftIO (EffReader (IOE e) es) | |
Defined in Bluefin.Internal Methods withRunInIO :: ((forall a. EffReader (IOE e) es a -> IO a) -> IO b) -> EffReader (IOE e) es b | |
| type StM (EffReader (IOE e) es) a | |
Defined in Bluefin.Internal | |
runEffReader :: forall r (es :: Effects) a. r -> EffReader r es a -> Eff es a #