Name : ghc-optparse-applicative
| |
Version : 0.12.1.0
| Vendor : openSUSE
|
Release : 2.7
| Date : 2016-09-14 00:51:40
|
Group : System/Libraries
| Source RPM : ghc-optparse-applicative-0.12.1.0-2.7.src.rpm
|
Size : 0.55 MB
| |
Packager : http://bugs_opensuse_org
| |
Summary : Utilities and combinators for parsing command line options
|
Description :
Here is a simple example of an applicative option parser:
\' data Sample = Sample { hello :: String , quiet :: Bool }
sample :: Parser Sample sample = Sample < $> strOption ( long \"hello\" < > metavar \"TARGET\" < > help \"Target for the greeting\" ) < *> switch ( long \"quiet\" < > help \"Whether to be quiet\" ) \'
The parser is built using applicative style starting from a set of basic combinators. In this example, \'hello\' is defined as an \'option\' with a \'String\' argument, while \'quiet\' is a boolean \'flag\' (called \'switch\').
A parser can be used like this:
\' greet :: Sample -> IO () greet (Sample h False) = putStrLn $ \"Hello, \" ++ h greet _ = return ()
main :: IO () main = execParser opts >>= greet where opts = info (helper < *> sample) ( fullDesc < > progDesc \"Print a greeting for TARGET\" < > header \"hello - a test for optparse-applicative\" ) \'
The \'greet\' function is the entry point of the program, while \'opts\' is a complete description of the program, used when generating a help text. The \'helper\' combinator takes any parser, and adds a \'help\' option to it (which always fails).
The \'hello\' option in this example is mandatory (since it doesn\'t have a default value), so running the program without any argument will display a help text:
>hello - a test for optparse-applicative > >Usage: hello --hello TARGET [--quiet] > Print a greeting for TARGET > >Available options: > -h,--help Show this help text > --hello TARGET Target for the greeting > --quiet Whether to be quiet
containing a short usage summary, and a detailed list of options with descriptions.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/openSUSE:/Backports:/SLE-12/standard/x86_64 |