]> gitweb.michael.orlitzky.com - email-validator.git/blobdiff - src/Main.hs
src/Main.hs: add explicit export list.
[email-validator.git] / src / Main.hs
index 0e7c30fa03bd5d93e23a5f61acf716d55ff549a9..4a0208b05372564cdd6fa6e5d8e9bca116380078 100644 (file)
@@ -1,42 +1,45 @@
 {-# LANGUAGE DoAndIfThenElse #-}
 {-# LANGUAGE RecordWildCards #-}
 
-module Main
+module Main (main)
 where
 
 import Control.Concurrent.ParallelIO.Global (
    parallelInterleaved,
-   stopGlobalPool)
-import Control.Monad (unless)
+   stopGlobalPool )
+import Control.Monad ( unless )
 import qualified Data.ByteString.Char8 as BS (
   hGetContents,
   hPutStrLn,
   lines,
   null,
   pack,
-  readFile)
+  readFile )
 import Network.DNS (
   Domain,
   Resolver,
   ResolvConf(..),
   defaultResolvConf,
   makeResolvSeed,
-  withResolver)
-import Network.DNS.Lookup (lookupA, lookupMX)
-import System.Directory (doesFileExist)
-import System.Exit (exitWith, ExitCode(..))
+  withResolver )
+import Network.DNS.Lookup ( lookupA, lookupMX )
+import System.Directory ( doesFileExist )
+import System.Exit ( exitWith, ExitCode(..) )
 import System.IO (
   IOMode( WriteMode ),
   hClose,
   hFlush,
   openFile,
   stdin,
-  stdout)
+  stdout )
 
 
-import CommandLine (Args(..), apply_args)
-import EmailAddress
-import ExitCodes (exit_input_file_doesnt_exist)
+import CommandLine ( Args(..), get_args )
+import EmailAddress(
+  Address,
+  parts,
+  validate_syntax )
+import ExitCodes ( exit_input_file_doesnt_exist )
 
 
 -- | Resolver parameters. We increase the default timeout from 3 to 10
@@ -103,7 +106,7 @@ validate resolver accept_a rfc5322 address = do
 
 main :: IO ()
 main = do
-  Args{..} <- apply_args
+  Args{..} <- get_args
 
   -- Get the input from either stdin, or the file given on the command
   -- line.
@@ -142,7 +145,7 @@ main = do
 
   -- Output the results.
   let valid_addresses = map fst valid_results
-  _ <- mapM (BS.hPutStrLn output_handle) valid_addresses
+  mapM_ (BS.hPutStrLn output_handle) valid_addresses
 
   stopGlobalPool