- new(-Tx:tx_chan, -Rx:rx_chan) is det
- Create a new channel for transmitting (Tx) and receiving (Rx) terms. The
channel has capacity to hold one term at a time.
- send(+Tx:ch_chan, +Term) is det
- Send Term down the Tx channel. Blocks if the channel is full. Throws an
exception if called with a receive channel.
- recv(+Rx:rx_chan, +Term) is semidet
- Receive the next Term from an Rx channel. Blocks until a term arrives.
Fails for a closed, receive channel. Throws an exception for a transmit
channel.
- recvd(+Rx:rx_chan, -Term) is multi
- True if Term is a message received on Rx. Iterates terms on backtracking
until Rx closes.
- close(+Tx:tx_chan) is det
- Close the Tx channel. Closing an already closed channel throws an
exception. Trying to close a receive channel throws an exception.