-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathvalidation.cabal
111 lines (92 loc) · 3.5 KB
/
validation.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
name: validation
version: 1.1.2
license: BSD3
license-file: LICENCE
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ɐɥ>
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.
synopsis: A data-type like Either but with an accumulating Applicative
category: Data
description:
<<https://raw.githubusercontent.com/qfpl/assets/master/data61-transparent-bg.png>>
.
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."
homepage: https://github.com/qfpl/validation
bug-reports: https://github.com/qfpl/validation/issues
cabal-version: >= 1.10
build-type: Simple
extra-source-files: changelog
tested-with: GHC==9.0.1, GHC==8.10.4, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3
source-repository head
type: git
location: [email protected]:qfpl/validation.git
library
default-language:
Haskell2010
build-depends:
base >= 4.8 && < 5
, assoc >= 1 && < 1.1
, deepseq >= 1.4 && < 1.5
, semigroups >= 0.16 && < 1
, semigroupoids >= 5 && < 6
, bifunctors >= 5.5 && < 6
, lens >= 4 && < 6
ghc-options:
-Wall
hs-source-dirs:
src
exposed-modules:
Data.Validation
test-suite hedgehog
type:
exitcode-stdio-1.0
main-is:
hedgehog_tests.hs
default-language:
Haskell2010
build-depends:
base >= 4.8 && < 5
, hedgehog >= 0.5 && < 1.1
, semigroups >= 0.16 && < 1
, validation
ghc-options:
-Wall
-threaded
hs-source-dirs:
test
test-suite hunit
type:
exitcode-stdio-1.0
main-is:
hunit_tests.hs
default-language:
Haskell2010
build-depends:
base >= 4.8 && < 5
, HUnit >= 1.5 && < 1.7
, lens >= 4 && < 5
, semigroups >= 0.16 && < 1
, validation
ghc-options:
-Wall
-threaded
hs-source-dirs:
test