cmdtheline: Declarative command-line option parsing and documentation library.
CmdTheLine aims to remove tedium from the definition of command-line programs, producing usage and help with little effort.
The inspiration was found in Daniel Bunzli's http://erratique.ch/software/cmdliner library.
CmdTheLine uses applicative functors to provide a declarative, compositional mechanism for defining command-line programs by lifting regular Haskell functions over argument parsers.
A tutorial can be found at http://elifrey.com/2012/07/23/CmdTheLine-Tutorial/.
Suggestions, comments, and bug reports are appreciated. Please see the bug and issue tracker at http://github.com/eli-frey/cmdtheline.
Changes since 0.1:
More type safety: Types in CmdTheLine.Arg have been made more explicit to disalow unwanted behavior. Positional argument information and optional argument information are distinguished from each other. As well
Args must be transformed intoTermbefore use, as some operations make since to perform onArgbut not onTerm.ArgVal has only one method:
parserandpphave been fused into a tuple, so that instantiation ofArgValcan be simplified for all parties.Err is an instance of MonadIO: The
Errmonad now supports IO action.File and Directory path validation: Taking advantage of new
Errcapabilities, the library provides new functions for validatingStrings inside ofTerms as being valid/existent file/directory paths.
Changes since 0.2.0:
Test friendly
unwrapfunctions: To allow the testing of terms, there are now two new functions exported with System.Console.CmdTheLine.Term,unwrapandunwrapChoice. As well a datatype representing cause of early exit,EvalExitis exported.
Changes since 0.2.1
Added adapter for interfacing with Getopt in module
System.Console.CmdTheLine.
[Skip to Readme]
Modules
[Index]
Downloads
- cmdtheline-0.2.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.1, 0.2.0.0, 0.2.1, 0.2.1.1, 0.2.2, 0.2.3 |
|---|---|
| Dependencies | base (>=4.5 && <5), containers (>=0.4 && <0.6), directory (>=1.1), filepath (>=1.3 && <1.4), parsec (>=3.1 && <3.2), pretty (>=1.1 && <1.2), process (>=1.1), transformers (>=0.2 && <0.4) [details] |
| License | MIT |
| Author | Eli Frey |
| Maintainer | Eli Frey <eli.lee.frey gmail com> |
| Category | Console |
| Home page | http://github.com/eli-frey/cmdtheline |
| Source repo | head: git clone git://github.com/eli-frey/cmdtheline.git |
| Uploaded | by EliFrey at 2013-04-29T01:24:45Z |
| Distributions | |
| Reverse Dependencies | 7 direct, 11 indirect [details] |
| Downloads | 13593 total (34 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |
