From: Michael Orlitzky Date: Sat, 13 Jul 2013 22:30:57 +0000 (-0400) Subject: Fix a few hlint suggestions. X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=commitdiff_plain;h=dd6cea3dc5e830691b1da442fcf91602e4cf94aa Fix a few hlint suggestions. --- diff --git a/src/CommandLine.hs b/src/CommandLine.hs index f215ab8..db3b12d 100644 --- a/src/CommandLine.hs +++ b/src/CommandLine.hs @@ -59,62 +59,62 @@ default_options = Options { opt_access_token = Nothing, options :: [OptDescr (Options -> IO Options)] options = [ Option - [] ["consumer-key"] + "" ["consumer-key"] (ReqArg set_consumer_key "consumer-key") "Your Twitter API consumer key.", Option - [] ["consumer-secret"] + "" ["consumer-secret"] (ReqArg set_consumer_secret "consumer-secret") "Your Twitter API consumer secret.", Option - [] ["access-token"] + "" ["access-token"] (ReqArg set_access_token "access-token") "Your Twitter API access token.", Option - [] ["access-secret"] + "" ["access-secret"] (ReqArg set_access_secret "access-secret") "Your Twitter API access secret.", Option - ['h'] ["help"] + "h" ["help"] (NoArg set_help) "Prints this help message.", Option - ['n'] ["heartbeat"] + "n" ["heartbeat"] (ReqArg set_heartbeat "heartbeat") "How many seconds to wait between polling.", Option - ['t'] ["to"] + "t" ["to"] (ReqArg set_to "email_address") "Send tweets TO email_address.", Option - ['f'] ["from"] + "f" ["from"] (ReqArg set_from "email_address") "Send tweets FROM email_address.", Option - ['s'] ["sendmail_path"] + "s" ["sendmail_path"] (ReqArg set_sendmail_path "sendmail_path") "Use sendmail_path to send mail", Option - ['i'] ["ignore-replies"] + "i" ["ignore-replies"] (NoArg set_ignore_replies) "Ignore replies.", Option - ['I'] ["ignore-retweets"] + "I" ["ignore-retweets"] (NoArg set_ignore_retweets) "Ignore retweets.", Option - ['v'] ["verbose"] + "v" ["verbose"] (NoArg set_verbose) "Be verbose about stuff." ] @@ -129,19 +129,19 @@ parse_int s = _ -> Nothing set_consumer_key :: String -> Options -> IO Options -set_consumer_key arg opts = do +set_consumer_key arg opts = return opts { opt_consumer_key = Just arg } set_consumer_secret :: String -> Options -> IO Options -set_consumer_secret arg opts = do +set_consumer_secret arg opts = return opts { opt_consumer_secret = Just arg } set_access_token :: String -> Options -> IO Options -set_access_token arg opts = do +set_access_token arg opts = return opts { opt_access_token = Just arg } set_access_secret :: String -> Options -> IO Options -set_access_secret arg opts = do +set_access_secret arg opts = return opts { opt_access_secret = Just arg } set_heartbeat :: String -> Options -> IO Options @@ -166,15 +166,15 @@ set_verbose opts = return opts { opt_verbose = True } set_sendmail_path :: String -> Options -> IO Options -set_sendmail_path arg opts = do +set_sendmail_path arg opts = return opts { opt_sendmail_path = arg } set_to :: String -> Options -> IO Options -set_to arg opts = do +set_to arg opts = return opts { opt_to = Just arg } set_from :: String -> Options -> IO Options -set_from arg opts = do +set_from arg opts = return opts { opt_from = Just arg } @@ -204,9 +204,7 @@ parse_options = do -- list, one after another, on a default_options record. The end -- result should be an Options instance with all of its members set -- correctly. - opts <- foldl (>>=) (return default_options) actions - - return opts + foldl (>>=) (return default_options) actions -- | A list of parse errors relating to the heartbeat. diff --git a/src/Mail.hs b/src/Mail.hs index e1884af..8c1f25c 100644 --- a/src/Mail.hs +++ b/src/Mail.hs @@ -44,7 +44,7 @@ instance Show Message where (body m) ] where formatted_headers = - if (length (headers m) == 0) + if null (headers m) then "" else (intercalate "\n" (headers m)) ++ "\n" diff --git a/src/Main.hs b/src/Main.hs index 8c81555..14539c1 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -2,11 +2,11 @@ module Main where import Control.Concurrent (forkIO, threadDelay) -import Control.Monad (forever, when) +import Control.Monad (forever, unless, when) import Data.Aeson (decode) import Data.List ((\\)) import Data.Time.LocalTime (TimeZone, getCurrentTimeZone) -import System.Exit (ExitCode(..), exitWith) +import System.Exit (ExitCode(..), exitSuccess, exitWith) import System.IO (hPutStrLn, stderr) import CommandLine @@ -85,13 +85,13 @@ filter_statuses cfg ss = replies = filter reply ss retweets = filter retweeted ss - good_statuses' = case (ignore_replies cfg) of - True -> ss \\ replies - False -> ss + good_statuses' = if (ignore_replies cfg) + then ss \\ replies + else ss - good_statuses = case (ignore_retweets cfg) of - True -> good_statuses' \\ retweets - False -> good_statuses' + good_statuses = if (ignore_retweets cfg) + then good_statuses' \\ retweets + else good_statuses' @@ -189,7 +189,7 @@ main = do -- If there were errors parsing the command-line options, -- print them and exit. - when (not (null errors)) $ do + unless (null errors) $ do hPutStrLn stderr (concat errors) putStrLn help_text exitWith (ExitFailure exit_args_parse_failed) @@ -199,7 +199,7 @@ main = do help <- help_set when (help) $ do putStrLn help_text - exitWith ExitSuccess + exitSuccess -- Get the list of usernames. usernames <- parse_usernames @@ -215,7 +215,7 @@ main = do let run_twat_curried = run_twat cfg message _ <- mapM (forkIO . run_twat_curried) usernames - _ <- forever $ do + _ <- forever $ -- This thread (the one executing main) doesn't do anything, -- but when it terminates, so do all the threads we forked. -- As a result, we need to keep this thread on life support.