> module Main where > import IO > import Distributed > import qualified System.Posix as Posix > data Msg = Ping Pid | Connect Pid | Pong | Quit Pid deriving (Read,Show) > instance Serialize Msg > main = do > Posix.installHandler Posix.sigTTOU Posix.Ignore Nothing > hSetBuffering stdout NoBuffering > Distributed.start (do > register "Reader" > reader > halt > ) "LELoop" > reader :: DIO Msg () > reader = do > receive (\v -> case v of > Ping parent -> do > proc $ putStr "#" > reader > Connect parent -> do > me <- self > parent Connect me > reader > Quit pid -> do > pid Quit pid > return () > )