named: Named parameters (keyword arguments) for Haskell

[ bsd3, control, library ] [ Propose Tags ]

named is a lightweight library for named function parameters (keyword arguments) based on overloaded labels. Keyword arguments have several advantages over positional arguments:

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],
Change log
Dependencies base (>=4.9 && <4.13) [details]
License BSD-3-Clause
Author Vladislav Zavialov
Maintainer Monadfix <>
Revised Revision 2 made by int_index at Mon Nov 26 16:26:26 UTC 2018
Category Control
Source repo head: git clone
Uploaded by int_index at Fri Jul 13 11:38:51 UTC 2018
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 363 total (51 in the last 30 days)
Rating 2.5 (votes: 5) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-07-13 [all 1 reports]




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'.

Maintainer's Corner

For package maintainers and hackage trustees