Fix a few hlint suggestions.
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 13 Jul 2013 22:30:57 +0000 (18:30 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 13 Jul 2013 22:30:57 +0000 (18:30 -0400)
src/CommandLine.hs
src/Mail.hs
src/Main.hs

index f215ab84cb7ef4f338756793c910548866e312e4..db3b12da2039c6de2d046bf04e22782849b32649 100644 (file)
@@ -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.
index e1884afb9daf0c9fa2df33b67b30e81f82ab79a9..8c1f25c89874eae68547f8323387b6116223419e 100644 (file)
@@ -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"
 
index 8c81555c60075952980b48198d3ee1f38ab5ec7e..14539c11a737defc430d35e8aed0491c9d3cb397 100644 (file)
@@ -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.