The validation package

[ Tags: bsd3, data, library ] [ Propose Tags ]

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.

The AccValidation 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. AccValidation is an example of, "An applicative functor that is not a monad."

Properties

Versions 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
Change log changelog
Dependencies base (>=3 && <5), bifunctors (>=5.1 && <6), lens (==4.*), mtl (>=2.0 && <2.3), semigroupoids (==5.*), semigroups (>=0.8 && <1), transformers (>=0.3 && <0.6) [details]
License BSD3
Copyright Copyright (c) 2016,2017, 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ɐɥ>
Category Data
Home page https://github.com/qfpl/validation
Bug tracker https://github.com/qfpl/validation/issues
Source repository head: git clone git@github.com:qfpl/validation.git
Uploaded Wed Oct 25 06:03:25 UTC 2017 by qfpl
Distributions LTSHaskell:0.5.5, NixOS:0.6.2, Stackage:0.6.2, Tumbleweed:0.5.4
Downloads 4438 total (173 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-10-25 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
small_base

Choose the new, split-up base package.

EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees