Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- whileEmpty :: forall a r. Member (SyncRead a) r => Sem r () -> Sem r ()
- whileEmptyInterval :: forall a u t d r. TimeUnit u => Members [Time t d, SyncRead a] r => u -> Sem r () -> Sem r ()
- data SyncRead (d :: Type) :: Effect
- empty :: forall d r. Member (SyncRead d) r => Sem r Bool
- wait :: forall d r u. (Member (SyncRead d) r, TimeUnit u) => u -> Sem r (Maybe d)
- try :: forall d r. Member (SyncRead d) r => Sem r (Maybe d)
- block :: forall d r. Member (SyncRead d) r => Sem r d
Documentation
whileEmpty :: forall a r. Member (SyncRead a) r => Sem r () -> Sem r () Source #
Run an action repeatedly until the SyncRead
variable is available.
whileEmptyInterval :: forall a u t d r. TimeUnit u => Members [Time t d, SyncRead a] r => u -> Sem r () -> Sem r () Source #
Run an action repeatedly until the SyncRead
variable is available, waiting for the specified time between executions.
data SyncRead (d :: Type) :: Effect Source #
An interface to a shared variable (MVar
) that can only be read.
empty :: forall d r. Member (SyncRead d) r => Sem r Bool Source #
Indicate whether the variable is empty.
wait :: forall d r u. (Member (SyncRead d) r, TimeUnit u) => u -> Sem r (Maybe d) Source #
Read the variable, waiting until a value is available or the timeout has expired.