data F hi ho = F (FSP hi ho) instance StreamProcIO F instance FudgetIO F type Fudget a b = F a b type FSP hi ho = SP (FEvent hi) (FCommand ho) type TEvent = (Path, FResponse) type TCommand = (Path, FRequest) type FEvent a = Message TEvent a type FCommand a = Message TCommand a
data SP a b = PutSP b (SP a b) | GetSP (a -> SP a b) | NullSP
data Message a b = Low a | High b
F hi ho is the Fudget type.
hi is the type of high level input
ho is the type of high level output messages.
Abstract fudgets: absF, mapF, mapstateF.
Other atomic fudget constructors: windowF, ioF (normally not used directly by application progammers).
Fudget combinators: >+<, >==<, listF, loopF.
Stream processors: SP.
Fudget low level stream types: FRequest and FResponse.