import Control.Monad import System.Environment import System.Cmd import System.Exit main = do [list, author, subj] <- getArgs let group = case list of "cafe" -> "gmane.comp.lang.haskell.cafe" "cvs-ghc" -> "gmane.comp.lang.haskell.cvs.ghc" "haskell" -> "gmane.comp.lang.haskell.general" "ghc-bugs" -> "gmane.comp.lang.haskell.glasgow.bugs" "ghc-users" -> "gmane.comp.lang.haskell.glasgow.user" "haskellprime" -> "gmane.comp.lang.haskell.prime" "libraries" -> "gmane.comp.lang.haskell.libraries" run $ "w3m -dump_source 'http://search.gmane.org/?query="++subj++ "&group="++group++ "&sort=date"++ "&email="++author ++ "'" -- run a program, check the exit status run :: String -> IO () run s = do v <- system s when (v /= ExitSuccess) $ error $ s ++ ": returned non-zero status"