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"
| Versions [faq] | 0.1.0.0, 0.2.0.0 |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | base (>=4.9 && <4.13) [details] |
| License | BSD-3-Clause |
| Author | Vladislav Zavialov |
| Maintainer | Monadfix <hi@monadfix.io> |
| Revised | Revision 2 made by int_index at Mon Nov 26 16:26:26 UTC 2018 |
| Category | Control |
| Source repo | head: git clone git@github.com:int-index/named.git |
| Uploaded | by int_index at Fri Jul 13 11:38:51 UTC 2018 |
| Distributions | LTSHaskell:0.2.0.0, NixOS:0.2.0.0, Stackage:0.2.0.0 |
| Downloads | 357 total (52 in the last 30 days) |
| Rating | 2.5 (votes: 5) [estimated by rule of succession] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2018-07-13 [all 1 reports] |
Downloads
- named-0.2.0.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.