cmdContSP :: a -> (b -> Maybe c) -> Cont (SP b a) c
cmdContK :: FRequest -> (FResponse -> Maybe a) -> Cont (K b c) a
cmdContF :: FRequest -> (FResponse -> Maybe a) -> Cont (F b c) a
cmdContLow :: FudgetIO f =>
FRequest -> (FResponse -> Maybe ans) -> (ans -> f hi ho) -> f hi ho
waitForSP :: (a -> Maybe t) -> (t -> SP a b) -> SP a b
dropSP :: (t1 -> Maybe t2) -> (t2 -> SP t1 b) -> SP t1 b
cmdContSP request expected contf
cmdCont functions are used when you want to
output a message and wait for a particular response. Except
dropSP, other input is queued up until the expected input is
received.
waitForSP can be used when you just want to wait for a
particular message, without outputting something first.
dropSP is like waitForSP, except that it will not queue
other input.
request :: aexpected :: b -> Maybe cJust x for the response you are waiting for and
Nothing otherwise.
contf :: ??expected.