1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
# parseargs: Command-line argument parsing for Haskell programs
Copyright (c) 2007 Bart Massey
This library provides System.Console.Parseargs, a module to
assist in argument parsing for Haskell stand-alone command
line programs.
The package provides a Haskell command-line argument
"parser". You supply a specification of the arguments to
your command-line program; `parseargs` reads the arguments
and checks that they meet your spec. It then fills in a data
structure that captures the relevant data, from which parsed
arguments can be extracted as needed. See the Haddock
documentation for the gory details.
I have used this code with `ghc` 6 and later on Linux. It
is a fairly standard Hackage-ready package, to the extent I
know how to construct such.
This library is not what I set out to build. It definitely
could also use some work. However, I use it all the time
for writing little programs. I thought others might find it
useful, and I also have released other code that depends on
it, so I put it out there.
Have fun with it, and let me know if there are problems.
## Release History
* The 0.1.2 release includes a typeclass for argument types for
easier use.
* The 0.1.3 release includes more uniform and usable error
handling.
* The various 0.1.3.x point releases include bug fixes and
various extra-minor enhancements. See the Git log.
* The 0.1.4 release includes the ability to mix optional and
required positional arguments.
* The 0.1.5 release includes the "soft dash" option, giving
the ability to allow positional arguments to begin with a
dash if possible.
* The 0.1.5.1 release fixes some warnings and stuff.
* The 0.1.5.2 release fixes some missing documentation.
* The 0.2 release cleans up some namespace pollution by
removing `ArgRecord` and the `args` accessor from the public
namespace. This allows the use of the name `args` by the
user to describe program arguments.
* The 0.2.0.1 release cleans up a bunch of documentation nits
and cleans up copyright notices and license information.
* The 0.2.0.2 release fixes the botched release of 0.2.0.1. Sigh.
* The 0.2.0.3 release fixes the missing `Args` constructor
documentation of 0.2.0.2.
* The 0.2.0.4 release suppresses a GHC 7.10 warning for `Control.Monad.Safe`.
* Subsequent releases are maintenance for new GHC, Cabal and
Stackage stuff.
## License
This program is licensed under the "3-clause ('new') BSD
License". Please see the file COPYING in this distribution
for license terms.
|