chp-spec-1.0.0: A mirror implementation of chp that generates a specification of the program

Control.Concurrent.CHPSpec.Channels.Creation

Synopsis

Documentation

data Chan r w a Source

newChannel :: (MonadCHP m, Channel r w) => m (Chan r w a)Source

data ChanOpts a Source

Options for channel creation. The first two will be ignored, but the label (if present) will be used to label the channel in the specification.

newChannelWR :: (Channel r w, MonadCHP m) => m (w a, r a)Source

newChannelRW :: (Channel r w, MonadCHP m) => m (r a, w a)Source

newChannelList :: (Channel r w, MonadCHP m) => Int -> m [Chan r w a]Source

labelChannel :: MonadCHP m => Chan r w a -> String -> m ()Source

Labels a channel in the traces. It is easiest to do this at creation. The effect of re-labelling channels after their first use is undefined.

This function does work as expected in chp-spec.