named: Named parameters (keyword arguments) for Haskell
named
is a lightweight library for named function parameters (keyword
arguments) based on overloaded labels. Keyword arguments have several
advantages over positional arguments:
they can be supplied in arbitrary order
their names serve as documentation at call site
it is impossible to accidentally mix them up
Unlike newtype
wrappers, keyword arguments don't pollute the global
namespace, don't require top-level definitions, and don't need to be
exported.
This implementation of named parameters is typesafe, provides good type inference, descriptive type errors, and has no runtime overhead.
Example usage:
import Named createSymLink :: "from" :! FilePath -> "to" :! FilePath -> IO () createSymLink (Arg from) (Arg to) = ... main = createSymLink ! #from "/path/to/source" ! #to "/target/path"
Downloads
- named-0.3.0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.3.0.1, 0.3.0.2 |
---|---|
Change log | ChangeLog.md |
Dependencies | base (>=4.16 && <4.21) [details] |
Tested with | ghc ==9.4.8, ghc ==9.6.6, ghc ==9.10.1 |
License | BSD-3-Clause |
Author | Vladislav Zavialov |
Maintainer | Monadfix <hi@monadfix.com> |
Category | Control |
Home page | https://github.com/monadfix/named |
Bug tracker | https://github.com/monadfix/named/issues |
Source repo | head: git clone git@github.com:monadfix/named.git |
Uploaded | by int_index at 2024-10-27T00:14:07Z |
Distributions | LTSHaskell:0.3.0.2, NixOS:0.3.0.1, Stackage:0.3.0.2 |
Reverse Dependencies | 14 direct, 4 indirect [details] |
Downloads | 3914 total (37 in the last 30 days) |
Rating | 2.5 (votes: 6) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-10-27 [all 1 reports] |