Did you know ... Search Documentation:
Pack chan -- prolog/chan.pl
PublicShow source
 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.