{"id":169931,"name":"cmdtheline","ecosystem":"hackage","description":"CmdTheLine aims to remove tedium from the definition of command-line\nprograms, producing usage and help with little effort.\n\nThe inspiration was found in Daniel Bunzli's\nhttp://erratique.ch/software/cmdliner library.\n\nCmdTheLine uses applicative functors to provide a declarative, compositional\nmechanism for defining command-line programs by lifting regular Haskell\nfunctions over argument parsers.\n\nA tutorial can be found at\nhttp://elifrey.com/2012/07/23/CmdTheLine-Tutorial/.\n\nSuggestions, comments, and bug reports are appreciated. Please see the\nbug and issue tracker at http://github.com/eli-frey/cmdtheline.\n\nChanges since 0.1:\n\nMore type safety: Types in CmdTheLine.Arg have been made more explicit to\ndisalow unwanted behavior.  Positional argument information and optional\nargument information are distinguished from each other.  As well Args must\nbe transformed into Term before use, as some operations make since to\nperform on Arg but not on Term.\n\nArgVal has only one method: parser and pp have been fused into a tuple, so\nthat instantiation of ArgVal can be simplified for all parties.\n\nErr is an instance of MonadIO:  The Err monad now supports IO action.\n\nFile and Directory path validation:  Taking advantage of new Err\ncapabilities, the library provides new functions for validating Strings\ninside of Terms as being valid/existent file/directory paths.\n\nChanges since 0.2.0:\n\nTest friendly unwrap functions:  To allow the testing of terms, there are\nnow two new functions exported with System.Console.CmdTheLine.Term, unwrap\nand unwrapChoice.  As well a datatype representing cause of early exit,\nEvalExit is exported.\n\nChanges since 0.2.1\n\nAdded adapter for interfacing with Getopt in module\nSystem.Console.CmdTheLine.","homepage":"http://github.com/eli-frey/cmdtheline","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/eli-frey/cmdtheline","keywords_array":["console","library","mit","Propose Tags"],"namespace":null,"versions_count":8,"first_release_published_at":"2012-06-22T18:34:28.000Z","latest_release_published_at":"2013-04-29T01:24:45.000Z","latest_release_number":"0.2.3","last_synced_at":"2026-05-04T18:33:30.482Z","created_at":"2022-04-05T18:38:15.169Z","updated_at":"2026-05-04T18:33:45.489Z","registry_url":"https://hackage.haskell.org/package/cmdtheline","install_command":"cabal install cmdtheline","documentation_url":null,"metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-04T18:33:45.461Z","dependent_packages_count":1,"downloads":13758,"downloads_period":"total","dependent_repos_count":9,"rankings":{"downloads":11.04831873410568,"dependent_repos_count":19.282283130827917,"dependent_packages_count":10.471884713195818,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":13.600828859376472},"purl":"pkg:hackage/cmdtheline","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/cmdtheline","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/cmdtheline","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/cmdtheline/dependencies","status":null,"funding_links":[],"critical":false,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/cmdtheline/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/cmdtheline/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/cmdtheline/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/cmdtheline/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/cmdtheline/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/cmdtheline/codemeta","maintainers":[{"uuid":"EliFrey","login":"EliFrey","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://hackage.haskell.org/user/EliFrey","role":null,"created_at":"2022-11-14T17:04:56.532Z","updated_at":"2022-11-14T17:04:56.532Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/EliFrey/packages"}]}