chan-0.0.4.1: Some extra kit for Chans
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Concurrent.STM.TChan.Typed

Documentation

newtype TChanRW (scope :: Scope) a Source #

Constructors

TChanRW (TChan a) 

Instances

Instances details
ChanScoped TChanRW Source # 
Instance details

Defined in Control.Concurrent.Chan.Extra

Methods

readOnly :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> TChanRW 'Read a Source #

writeOnly :: forall (scope :: Scope) a. Writable scope => TChanRW scope a -> TChanRW 'Write a Source #

allowReading :: forall (scope :: Scope) a. Writable scope => TChanRW scope a -> TChanRW 'ReadWrite a Source #

allowWriting :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> TChanRW 'ReadWrite a Source #

ChanExtra (TChanRW 'Write) (TChanRW 'Read) Source # 
Instance details

Defined in Control.Concurrent.Chan.Extra

writeTChanRW :: forall (scope :: Scope) a. Writable scope => TChanRW scope a -> a -> STM () Source #

unGetTChanRW :: forall (scope :: Scope) a. Writable scope => TChanRW scope a -> a -> STM () Source #

isEmptyTChanRW :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> STM Bool Source #

readTChanRW :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> STM a Source #

tryReadTChanRW :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> STM (Maybe a) Source #

peekTChanRW :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> STM a Source #

tryPeekTChanRW :: forall (scope :: Scope) a. Readable scope => TChanRW scope a -> STM (Maybe a) Source #

dupTChanRW :: forall (scopeIn :: Scope) (scopeOut :: Scope) a. (Writable scopeIn, Readable scopeOut) => TChanRW scopeIn a -> STM (TChanRW scopeOut a) Source #

cloneTChanRW :: forall (scopeIn :: Scope) (scopeOut :: Scope) a. (Writable scopeIn, Readable scopeOut) => TChanRW scopeIn a -> STM (TChanRW scopeOut a) Source #