packages feed

accelerate-examples-0.15.0.0: examples/kmeans/Config.hs

{-# LANGUAGE TemplateHaskell #-}

module Config where

import ParseArgs
import Data.Label


-- Configuration options
--
data Config
  = Config
  {
    _configBackend      :: Backend
  , _configHelp         :: Bool
  }
  deriving Show

$(mkLabels [''Config])

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


-- The set of available command line options
--
options :: [OptDescr (Config -> Config)]
options =
  [ Option  ['h', '?'] ["help"]
            (NoArg (set configHelp True))
            "show this help message"
  ]


-- Command line decoration
--
header :: [String]
header =
  [ "accelerate-kmeans (c) [2014] The Accelerate Team"
  , ""
  , "Usage: accelerate-kmeans [OPTIONS]"
  , ""
  , "Be sure to first build and run the GenSamples program, in order to"
  , "generate some random data points."
  , ""
  ]

footer :: [String]
footer = []