module Process where
--import Fudget
--import Xtypes
import Srequest
import NullF()
--import FudgetIO
import Sockets
import Transceivers
import CompOps
--import DialogueIO hiding (IOError)

subProcessF :: String -> F String (Either String String)
subProcessF String
cmd =
  forall {f :: * -> * -> *} {hi} {ho}.
FudgetIO f =>
SocketRequest -> (SocketResponse -> f hi ho) -> f hi ho
sIO (String -> Bool -> Bool -> Bool -> SocketRequest
StartProcess String
cmd Bool
True Bool
True Bool
True) forall a b. (a -> b) -> a -> b
$
     \ (ProcessSockets (Just Socket
sin) (Just Socket
sout) (Just Socket
serr)) ->
     (forall {e}. Socket -> F e String
receiverF Socket
soutforall {a} {b} {c} {d}.
F a b -> F c d -> F (Either a c) (Either b d)
>+<forall {e}. Socket -> F e String
receiverF Socket
serr)forall {a1} {b} {a2}. F a1 b -> F a2 a1 -> F a2 b
>==<forall {b}. Socket -> F String b
transmitterF Socket
sin