harg: Haskell program configuration using higher kinded data

[ bsd3, cli, hkd, library, options, parsing, system ] [ Propose Tags ]
Versions [RSS],,,,,,,,,
Change log CHANGELOG.md
Dependencies aeson (>=1.4.2 && <1.5), barbies (>=2.0.3 && <2.1), base (>=4.7 && <5), bytestring (>=0.10.8 && <0.11), directory (>=1.3.3 && <1.4), higgledy (>=0.4.1 && <0.5), optparse-applicative (>=0.15.1 && <0.16), split (>=0.2.3 && <0.3), text (>=1.2.3 && <1.3), yaml (>=0.11.0 && <0.12) [details]
License BSD-3-Clause
Copyright Copyright (c) 2020 Alex Peitsinis
Author Alex Peitsinis
Maintainer alexpeitsinis@gmail.com
Category System, CLI, Options, Parsing, HKD
Home page https://github.com/alexpeits/harg
Bug tracker https://github.com/alexpeits/harg/issues
Source repo head: git clone https://github.com/alexpeits/harg
Uploaded by alexpeits at 2021-03-04T14:08:44Z
Downloads 3130 total (12 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for harg-

[back to package description]

harg 🔩

Build Status Hackage

harg is a library for configuring programs by scanning command line arguments, environment variables, default values and more. Under the hood, it uses a subset of optparse-applicative to expose regular arguments, switch arguments and subcommands. The library relies heavily on the use of higher kinded data (HKD) thanks to the barbies library. Using higgledy also helps reduce boilerplate code significantly.


To find out more, check out the docs or the package page on hackage. There is also an example module that serves as an extensive demonstration of the library.


  • Better errors using optparse-applicative's internals
  • Allow user to pass optparse-applicative preferences
  • Write tests