Control.Concurrent.CHP.Channels.Ends
Description
Channels in CHP must be used via their ends. It is generally these ends that you pass around to processes that want to communicate on the channel -- thus it is possible to see from the type ('Chanin'\/'Chanout') whether the process will use it for reading or writing. The channel-ends are named from the perspective of processes: a Chanin is a channel-end that a process may input values from, whereas a Chanout is a channel-end that a process may output values to.
Documentation
A reading channel-end type.
See reader to obtain one, and ReadableChannel for how to use one.
Eq instance added in version 1.1.1
Instances
| ReadableChannel Chanin | |
| Channel Chanin Chanout | |
| Channel Chanin (Shared Chanout) | |
| Eq (Chanin a) | |
| Poisonable (Chanin a) | |
| Channel (Shared Chanin) Chanout | |
| Channel (Shared Chanin) (Shared Chanout) | |
| Connectable (Chanout a) (Chanin a) | |
| Connectable (Chanin a) (Chanout a) | |
| ConnectableExtra (Chanout a) (Chanin a) | |
| ConnectableExtra (Chanin a) (Chanout a) |
A writing channel-end type.
See writer to obtain one, and WritableChannel for how to use one.
Eq instance added in version 1.1.1
Instances
| WriteableChannel Chanout | |
| Channel Chanin Chanout | |
| Channel Chanin (Shared Chanout) | |
| Eq (Chanout a) | |
| Poisonable (Chanout a) | |
| Channel (Shared Chanin) Chanout | |
| Channel (Shared Chanin) (Shared Chanout) | |
| Connectable (Chanout a) (Chanin a) | |
| Connectable (Chanin a) (Chanout a) | |
| ConnectableExtra (Chanout a) (Chanin a) | |
| ConnectableExtra (Chanin a) (Chanout a) |
A wrapper (usually around a channel-end) indicating that the inner item
is shared. Use the claim function to use this type.
readers :: [Chan r w a] -> [r a]Source
Gets all the reading ends of a list of channels. A shorthand for map
reader.