module Transceivers where import Socketio import AsyncTransmitter import CompOps((>==<),(>=^^<)) import Spops(nullSP) transmitterF :: Socket -> F [Char] b transmitterF Socket s = Socket -> F () b forall ans ho. Socket -> F ans ho closerF Socket s F () b -> F [Char] () -> F [Char] b forall a1 b a2. F a1 b -> F a2 a1 -> F a2 b >==< Socket -> F [Char] () transmitterF' Socket s receiverF :: Socket -> F e [Char] receiverF Socket s = Socket -> F Any [Char] forall hi. Socket -> F hi [Char] receiverF' Socket s F Any [Char] -> SP e Any -> F e [Char] forall c d e. F c d -> SP e c -> F e d >=^^< SP e Any forall a b. SP a b nullSP transceiverF :: Socket -> F [Char] [Char] transceiverF Socket s = Socket -> F () [Char] forall hi. Socket -> F hi [Char] receiverF' Socket s F () [Char] -> F [Char] () -> F [Char] [Char] forall a1 b a2. F a1 b -> F a2 a1 -> F a2 b >==< Socket -> F [Char] () transmitterF' Socket s asyncTransceiverF :: Socket -> F [Char] [Char] asyncTransceiverF Socket s = Socket -> F () [Char] forall hi. Socket -> F hi [Char] receiverF' Socket s F () [Char] -> F [Char] () -> F [Char] [Char] forall a1 b a2. F a1 b -> F a2 a1 -> F a2 b >==< Socket -> F [Char] () asyncTransmitterF' Socket s