packages feed

accelerate-examples-0.14.0.0: examples/smvm/Config.hs

{-# LANGUAGE TemplateHaskell #-}

module Config where

import ParseArgs
import Data.Label

data Config
  = Config
  {
    -- Standard options
    _configBackend              :: Backend
  , _configHelp                 :: Bool
  }

$(mkLabels [''Config])

defaults :: Config
defaults = Config
  {
    _configBackend              = maxBound
  , _configHelp                 = False
  }

options :: [OptDescr (Config -> Config)]
options =
  [ Option  ['h', '?'] ["help"]
            (NoArg (set configHelp True))
            "show this help message"
  ]
  where
    _describe f msg
      = msg ++ " (" ++ show (get f defaults) ++ ")"


header :: [String]
header =
  [ "accelerate-smvm (c) [2013] The Accelerate Team"
  , ""
  , "Usage: accelerate-smvm [OPTIONS] matrix.mtx"
  , ""
  ]

footer :: [String]
footer = []