haskell-halogen-core
Safe HaskellNone
LanguageGHC2021

Halogen.IO.Driver.Eval

Documentation

type Renderer (m :: Type -> Type) (r :: Type -> Type -> Row Type -> Type -> Type) = forall s (f :: Type -> Type) act (ps :: Row Type) i o. IORef (LifecycleHandlers m) -> IORef (DriverState m r s f act ps i o) -> m () Source #

evalF :: forall m (r :: Type -> Type -> Row Type -> Type -> Type) s (f :: Type -> Type) act (ps :: Row Type) i o. (MonadUnliftIO m, MonadParallel m, MonadMask m, MonadFork m, MonadKill m) => Renderer m r -> IORef (DriverState m r s f act ps i o) -> Input act -> m () Source #

evalQ :: forall m (r :: Type -> Type -> Row Type -> Type -> Type) s f act (ps :: Row Type) i o a. (MonadUnliftIO m, MonadParallel m, MonadMask m, MonadFork m, MonadKill m) => Renderer m r -> IORef (DriverState m r s f act ps i o) -> f a -> m (Maybe a) Source #

evalM :: forall m (r :: Type -> Type -> Row Type -> Type -> Type) s (f :: Type -> Type) act (ps :: Row Type) i o a. (MonadUnliftIO m, MonadParallel m, MonadMask m, MonadFork m, MonadKill m) => Renderer m r -> IORef (DriverState m r s f act ps i o) -> HalogenM s act ps o m a -> m a Source #

queueOrRun :: MonadIO m => IORef (Maybe [m ()]) -> m () -> m () Source #