{-# LANGUAGE TemplateHaskell #-}
module Config where
import Data.Label
import System.Console.GetOpt
data Config
= Config
{ _configRandomSize :: Maybe Int
}
$(mkLabels [''Config])
defaults :: Config
defaults = Config Nothing
options :: [OptDescr (Config -> Config)]
options =
[ Option [] ["size"] (ReqArg (set configRandomSize . Just . read) "INT") "number of elements for a random input"
]
header :: [String]
header =
[ "accelerate-quicksort (c) [2019] The Accelerate Team"
, ""
, "Usage: accelerate-quicksort input.txt"
, " where input.txt is a file containing a list of integers seperated by spaces"
, ""
, "Usage: accelerate-quicksort --size n"
, " where n is a number, denoting the size of a random input"
, ""
]
footer :: [String]
footer = [ "" ]