A class of types that have additional invariants defined upon them
Methods
validate :: a -> Validation
Instances79Validity, …
Validity KeyDefined in validity-aeson-0.2.0.5 · Data.Validity.Aeson · orphanValidity ValueDefined in validity-aeson-0.2.0.5 · Data.Validity.Aeson · orphanA Value is valid if the recursive components are valid.
Validity UnionDefined in autodocodec-0.5.0.0 · Autodocodec.CodecValidity JSONSchemaDefined in autodocodec-schema-0.2.0.1 · Autodocodec.SchemaValidity KeyRequirementDefined in autodocodec-schema-0.2.0.1 · Autodocodec.SchemaValidity ObjectSchemaDefined in autodocodec-schema-0.2.0.1 · Autodocodec.SchemaValidity ByteStringDefined in validity-bytestring-0.4.1.1 · Data.Validity.ByteString · orphanA
ByteStringis NOT trivially valid.The offset and the length both need to be positive. Note that the length does not need to be greater than, or equal to, the offset.
TODO there's nothing we can do about the foreign pointer, I think?
Validity ByteStringDefined in validity-bytestring-0.4.1.1 · Data.Validity.ByteString · orphanA lazy
ByteStringis valid according to its chunks.Validity ShortByteStringDefined in validity-bytestring-0.4.1.1 · Data.Validity.ByteString · orphanTrivially valid
My guess is that short bytestrings are not trivially valid but there is no way to access the internals.
Validity IntegerDefined in validity-0.12.1.0 · Data.ValidityTrivially valid
Integer is not trivially valid under the hood, but instantiating Validity correctly would force validity to depend on a specific (big integer library
integer-gmpversusinteger-simple). This is rather impractical so for the time being we have opted for assuming that an Integer is always valid. Even though this is not technically sound, it is good enough for now.Validity NaturalDefined in validity-0.12.1.0 · Data.ValidityValid according to isValidNatural
Validity Int16Defined in validity-0.12.1.0 · Data.ValidityValidity Int32Defined in validity-0.12.1.0 · Data.ValidityValidity Int64Defined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity Int8Defined in validity-0.12.1.0 · Data.ValidityValidity Word16Defined in validity-0.12.1.0 · Data.ValidityValidity Word32Defined in validity-0.12.1.0 · Data.ValidityValidity Word64Defined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity Word8Defined in validity-0.12.1.0 · Data.ValidityValidity BoolDefined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity CharDefined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity DoubleDefined in validity-0.12.1.0 · Data.ValidityTrivially valid:
Validity FloatDefined in validity-0.12.1.0 · Data.ValidityTrivially valid:
Validity IntDefined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity OrderingDefined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity WordDefined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity ArgDefined in opt-env-conf-0.11.0.0 · OptEnvConf.ArgsValidity ArgsDefined in opt-env-conf-0.11.0.0 · OptEnvConf.ArgsValidity DashedDefined in opt-env-conf-0.11.0.0 · OptEnvConf.ArgsValidity EnvMapDefined in opt-env-conf-0.11.0.0 · OptEnvConf.EnvMapValidity ChunkDefined in safe-coloured-text-0.3.0.2 · Text.Colour.ChunkValidity ColourDefined in safe-coloured-text-0.3.0.2 · Text.Colour.ChunkValidity BlinkingDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity CSIDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity ColourIntensityDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity ConsoleIntensityDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity ConsoleLayerDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity SGRDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity TerminalColourDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity UnderliningDefined in safe-coloured-text-0.3.0.2 · Text.Colour.CodeValidity TableDefined in safe-coloured-text-layout-0.2.0.1 · Text.Colour.LayoutValidity TableBackgroundDefined in safe-coloured-text-layout-0.2.0.1 · Text.Colour.LayoutValidity ScientificDefined in validity-scientific-0.2.0.3 · Data.Validity.Scientific · orphanA Scientific is valid according to the validity of its coefficient and exponent.
Validity TextDefined in validity-text-0.3.1.3 · Data.Validity.Text · orphanA text is valid if the internal structure is consistent.
Validity TextDefined in validity-text-0.3.1.3 · Data.Validity.Text · orphanA lazy text value is valid if all the internal chunks are valid and nonempty
Validity ValidationChainDefined in validity-0.12.1.0 · Data.ValidityValidity ()Defined in validity-0.12.1.0 · Data.ValidityTrivially valid
Validity a => Validity (Bounds a)Defined in autodocodec-0.5.0.0 · Autodocodec.CodecValidity a => Validity (First a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (Last a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (Tree a)Defined in validity-containers-0.5.0.5 · Data.Validity.Tree · orphanValidity a => Validity (NonEmpty a)Defined in validity-0.12.1.0 · Data.ValidityA nonempty list is valid if all the elements are valid.
See the instance for 'Validity [a]' for more information.
Validity a => Validity (Identity a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (First a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (Last a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (Dual a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (Maybe a)Defined in validity-0.12.1.0 · Data.ValidityA Maybe thing is valid if the thing inside is valid or it's nothing It makes sense to assume that Nothing is valid. If Nothing wasn't valid, you wouldn't have used a Maybe in the datastructure.
Validity a => Validity (Tomb a)Defined in opt-env-conf-0.11.0.0 · OptEnvConf.ArgsValidity a => Validity (Vector a)Defined in validity-vector-0.2.0.3 · Data.Validity.Vector · orphanA
Vectorof things is valid if all the elements are valid.TODO make a more comprehensive instance that looks at implementation and the underlying
ArrayValidity a => Validity [a]Defined in validity-0.12.1.0 · Data.ValidityA list of things is valid if all of the things are valid.
This means that the empty list is considered valid. If the empty list should not be considered valid as part of your custom data type, make sure to write a custom
Validity instanceValidity v => Validity (KeyMap v)Defined in validity-aeson-0.2.0.5 · Data.Validity.Aeson · orphanValidity v => Validity (IntMap v)Defined in validity-containers-0.5.0.5 · Data.Validity.IntMap · orphanValidity v => Validity (Seq v)Defined in validity-containers-0.5.0.5 · Data.Validity.Sequence · orphanA Sequence of things is valid if all the elements are valid.
Validity v => Validity (HashSet v)Defined in validity-unordered-containers-0.2.0.3 · Data.Validity.HashSet · orphanA HashSet of things is valid if all the elements are valid and the underlying
HashMapis valid.(Storable e, Validity e) => Validity (Vector e)Defined in validity-vector-0.2.0.3 · Data.Validity.Vector · orphan(Ord v, Validity v) => Validity (Set v)Defined in validity-containers-0.5.0.5 · Data.Validity.Set · orphan(Validity a, Ord a, Num a, Integral a) => Validity (Ratio a)Defined in validity-0.12.1.0 · Data.ValidityValid if the contained numbers are valid and the denominator is strictly positive.
(Unbox e, Validity e) => Validity (Vector e)Defined in validity-vector-0.2.0.3 · Data.Validity.Vector · orphanHasResolution a => Validity (Fixed a)Defined in validity-0.12.1.0 · Data.ValidityValid according to the contained Integer.
(Show k, Ord k, Validity k, Validity v) => Validity (Map k v)Defined in validity-containers-0.5.0.5 · Data.Validity.Map · orphan(Validity a, Validity b) => Validity (Either a b)Defined in validity-0.12.1.0 · Data.ValidityAny Either of things is valid if the contents are valid in either of the cases.
(Validity a, Validity b) => Validity (a, b)Defined in validity-0.12.1.0 · Data.ValidityAny tuple of things is valid if both of its elements are valid
(Validity k, Validity v) => Validity (HashMap k v)Defined in validity-unordered-containers-0.2.0.3 · Data.Validity.HashMap · orphanValidity (f a) => Validity (Alt f a)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
Validity a => Validity (Const a b)Defined in validity-0.12.1.0 · Data.ValidityValid values the same as it's base type:
(Validity a, Validity b, Validity c) => Validity (a, b, c)Defined in validity-0.12.1.0 · Data.ValidityAny triple of things is valid if all three of its elements are valid
(Validity a, Validity b, Validity c, Validity d) => Validity (a, b, c, d)Defined in validity-0.12.1.0 · Data.ValidityAny quadruple of things is valid if all four of its elements are valid
(Validity a, Validity b, Validity c, Validity d, Validity e) => Validity (a, b, c, d, e)Defined in validity-0.12.1.0 · Data.ValidityAny quintuple of things is valid if all five of its elements are valid
(Validity a, Validity b, Validity c, Validity d, Validity e, Validity f) => Validity (a, b, c, d, e, f)Defined in validity-0.12.1.0 · Data.ValidityAny sextuple of things is valid if all six of its elements are valid