module Main( main , ersas ) where import Control.Monad((>>=)) import Data.Aviation.Ersa.Concat(ErsaDocument(ErsaDocument), ErsaCurrentPending(ErsaCurrent, ErsaPending), defaultersaconcat, traverseExitCodes) import System.Environment(getArgs) import System.Exit(ExitCode(ExitFailure), exitWith) import System.IO(IO, hPutStrLn, stderr) main :: IO () main = do a <- getArgs case a of p:d:v:z -> defaultersaconcat (ErsaDocument p d v ( case z of [] -> ErsaCurrent _ -> ErsaPending)) >>= exitWith [] -> traverseExitCodes defaultersaconcat ersas >>= exitWith _ -> do hPutStrLn stderr "Enter zero arguments for default ERSA list or three arguments for single ERSA [a fourth argument implies the ERSA is pending]" exitWith (ExitFailure 65535) ersas :: [ErsaDocument] ersas = [ ErsaDocument "40" "18-Aug-2016" "1" ErsaCurrent , ErsaDocument "40" "10-Nov-2016" "0" ErsaPending , ErsaDocument "40" "10-Nov-2016" "2" ErsaPending ]