io-classes:strict-stm
Safe HaskellNone
LanguageHaskell2010

Control.Concurrent.Class.MonadSTM.Strict.TChan

Description

This module corresponds to TChan in "stm" package

Documentation

data StrictTChan (m :: Type -> Type) a Source #

type LazyTChan (m :: Type -> Type) = TChan m Source #

fromLazyTChan :: forall (m :: Type -> Type) a. LazyTChan m a -> StrictTChan m a Source #

castStrictTChan :: forall (m :: Type -> Type) (n :: Type -> Type) a. LazyTChan m ~ LazyTChan n => StrictTChan m a -> StrictTChan n a Source #

newTChan :: forall (m :: Type -> Type) a. MonadSTM m => STM m (StrictTChan m a) Source #

newBroadcastTChan :: forall (m :: Type -> Type) a. MonadSTM m => STM m (StrictTChan m a) Source #

writeTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> a -> STM m () Source #

readTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m a Source #

tryReadTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m (Maybe a) Source #

peekTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m a Source #

tryPeekTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m (Maybe a) Source #

dupTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m (StrictTChan m a) Source #

unGetTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> a -> STM m () Source #

isEmptyTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m Bool Source #

cloneTChan :: forall (m :: Type -> Type) a. MonadSTM m => StrictTChan m a -> STM m (StrictTChan m a) Source #