arity-generic-liftA: Provides an arity-generic version of the liftA2, liftA3... liftAn functions.

[ control, library, mit ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/oisdk/arity-generic-liftA#readme


[Skip to Readme]
Versions [faq] 0.1.0.0
Dependencies base (>=4.9 && <5) [details]
License MIT
Copyright 2018 Donnacha Oisín Kidney
Author Donnacha Oisín Kidney
Maintainer mail@doisinkidney.com
Revised Revision 1 made by oisdk at Mon Dec 31 19:00:57 UTC 2018
Category Control
Home page https://github.com/oisdk/arity-generic-liftA#readme
Bug tracker https://github.com/oisdk/arity-generic-liftA/issues
Source repo head: git clone https://github.com/oisdk/arity-generic-liftA
Uploaded by oisdk at Mon Dec 31 17:03:04 UTC 2018
Distributions NixOS:0.1.0.0
Downloads 104 total (29 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-12-31 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

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


Readme for arity-generic-liftA-0.1.0.0

[back to package description]

arity-generic-liftA

There's a family of functions in Control.Applicative which follow the pattern liftA2, liftA3, etc. Using some tricks from Richard Eisenberg's thesis we can write them all at once. This package does exactly that, providing a function (lift) which is an arity-generic version of the liftAn.

>>> lift (\x y z -> x ++ y ++ z) (Just "a") (Just "b") (Just "c")
Just "abc"

Eisenberg, Richard A. “Dependent Types in Haskell: Theory and Practice.” University of Pennsylvania, 2016.