import qualified System.Miniplex as MP import System.Environment import System.Exit import System.IO usage :: IO () usage = do self <- getProgName hPutStr stderr $ "Usage: " ++ self ++ " TAG\n" exitFailure main :: IO () main = do args <- getArgs case args of [tag] -> do hSetBuffering stdout LineBuffering MP.withSourceWait tag service _ -> usage service :: MP.Source -> IO () service s = do msgs <- MP.getMsgs s mapM_ putStrLn msgs