validation: A data-type like Either but with an accumulating Applicative

[ bsd3, data, library ] [ Propose Tags ] [ Report a vulnerability ]

A data-type like Either but with differing properties and type-class instances.

Library support is provided for this different representation, include lens-related functions for converting between each and abstracting over their similarities.

  • Validation

The Validation data type is isomorphic to Either, but has an instance of Applicative that accumulates on the error side. That is to say, if two (or more) errors are encountered, they are appended using a Semigroup operation.

As a consequence of this Applicative instance, there is no corresponding Bind or Monad instance. Validation is an example of, "An applicative functor that is not a monad."

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

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 1, 1.1, 1.1.1, 1.1.2, 1.1.3
Change log changelog
Dependencies assoc (>=1 && <2), base (>=4.11 && <5), bifunctors (>=5.5 && <6), deepseq (>=1.4.3 && <1.6), lens (>=4.0.5 && <6), semigroupoids (>=5.2.2 && <7), semigroups (>=0.18.2 && <1) [details]
Tested with ghc ==9.0.1, ghc ==8.10.4, ghc ==8.8.4, ghc ==8.6.5, ghc ==8.4.4
License BSD-3-Clause
Copyright Copyright (C) 2010-2013 Tony Morris, Nick Partridge Copyright (C) 2014,2015 NICTA Limited Copyright (c) 2016-2019, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230.
Author Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>, Nick Partridge <nkpart>
Maintainer Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>, Nick Partridge <nkpart>, Queensland Functional Programming Lab <oᴉ˙ldɟb@llǝʞsɐɥ>
Revised Revision 1 made by Bodigrim at 2024-05-05T21:47:22Z
Category Data
Home page https://github.com/qfpl/validation
Bug tracker https://github.com/qfpl/validation/issues
Source repo head: git clone git@github.com:qfpl/validation.git
Uploaded by TonyMorris at 2023-07-10T22:37:00Z
Distributions LTSHaskell:1.1.3, NixOS:1.1.3, Stackage:1.1.3
Reverse Dependencies 22 direct, 26 indirect [details]
Downloads 25708 total (270 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-07-11 [all 1 reports]