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 b ho) -> f b 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 :: a
expected :: b -> Maybe c
Just x
for the response you are waiting for and
Nothing
otherwise.
contf :: ??
expected
.