optparse-applicative is a haskell library for parsing options on the command line, and providing a powerful applicative interface for composing them. optparse-applicative takes care of reading and validating the arguments passed to the command line, handling and reporting errors, generating a usage line, a comprehensive help screen, and enabling context-sensitive bash, zsh, and fish completions. A value of type Parser a represents a specification for a set of options, which will yield a value of type a when the command line arguments are successfully parsed. If you are familiar with parser combinator libraries like parsec, attoparsec, or the json parser aeson you will feel right at home with optparse-applicative. If not, don't worry! All you really need to learn are a few basic parsers, and how to compose them as instances of Applicative and Alternative.