Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data LawArity a
- data LawArity2 a b
- type Law a = (TestName, LawArity a)
- type Law2 a b = (TestName, LawArity2 a b)
- testLawOf :: (Arbitrary a, Show a) => [a] -> Law a -> TestTree
- testLawOf2 :: (Arbitrary a, Show a, Arbitrary b, Show b) => [(a, b)] -> Law2 a b -> TestTree
- idempotentLaws :: (Eq a, Additive a, Multiplicative a) => [Law a]
- additiveLaws :: (Eq a, Additive a) => [Law a]
- additiveLaws_ :: Epsilon a => [Law a]
- additiveLawsFail :: (Eq a, Additive a, Show a, Arbitrary a) => [Law a]
- additiveGroupLaws :: (Eq a, AdditiveGroup a) => [Law a]
- multiplicativeLaws :: (Eq a, Multiplicative a) => [Law a]
- multiplicativeLawsFail :: (Eq a, Show a, Arbitrary a, Multiplicative a) => [Law a]
- multiplicativeMonoidalLaws :: (Eq a, MultiplicativeUnital a) => [Law a]
- multiplicativeGroupLaws :: (Eq a, AdditiveUnital a, MultiplicativeGroup a) => [Law a]
- multiplicativeGroupLaws_ :: (Epsilon a, MultiplicativeGroup a) => [Law a]
- distributionLaws :: (Eq a, Distribution a) => [Law a]
- distributionLawsFail :: (Show a, Arbitrary a, Epsilon a, Distribution a) => [Law a]
- integralLaws :: (Eq a, Integral a, FromInteger a, ToInteger a) => [Law a]
- rationalLaws :: (Eq a, FromRatio a, ToRatio a) => [Law a]
- signedLaws :: (Eq a, Signed a) => [Law a]
- normedLaws :: forall a b. (Ord b, AdditiveUnital a, AdditiveUnital b, MultiplicativeUnital b, Normed a b) => [Law2 a b]
- normedBoundedLaws :: forall a b. (Eq a, Bounded a, Ord b, AdditiveUnital a, AdditiveUnital b, MultiplicativeUnital b, Normed a b) => [Law2 a b]
- metricIntegralLaws :: forall a b. (FromInteger b, Ord b, Signed b, Epsilon b, Metric a b) => [Law2 a b]
- metricIntegralBoundedLaws :: forall a b. (FromInteger b, Bounded b, Ord b, Signed b, Epsilon b, Metric a b) => [Law2 a b]
- metricRationalLaws :: forall a b. (FromRatio b, Ord b, Signed b, Epsilon b, Metric a b, Normed a b) => [Law2 a b]
- upperBoundedFieldLaws :: forall a. (Eq a, UpperBoundedField a) => [Law a]
- lowerBoundedFieldLaws :: forall a. (Eq a, LowerBoundedField a) => [Law a]
- quotientFieldLaws :: (Field a, QuotientField a Integer, FromInteger a) => [Law2 a Integer]
- expFieldLaws :: forall a b. (FromInteger b, AdditiveUnital b, ExpField a, Normed a b, Epsilon a, Ord a, Ord b) => [Law2 a b]
- additiveBasisLaws :: (Epsilon (r a), AdditiveBasis r a) => [Law (r a)]
- additiveGroupBasisLaws :: (Eq (r a), Singleton r, AdditiveGroupBasis r a) => [Law (r a)]
- multiplicativeBasisLaws :: (Eq (r a), Singleton r, MultiplicativeBasis r a) => [Law (r a)]
- multiplicativeGroupBasisLaws :: (Epsilon a, Epsilon (r a), Singleton r, MultiplicativeGroupBasis r a) => [Law (r a)]
- additiveModuleLaws :: (Epsilon a, Epsilon (r a), AdditiveModule r a) => [Law2 (r a) a]
- additiveGroupModuleLaws :: (Epsilon a, Epsilon (r a), AdditiveGroupModule r a) => [Law2 (r a) a]
- multiplicativeModuleLaws :: (Epsilon a, Epsilon (r a), MultiplicativeModule r a) => [Law2 (r a) a]
- multiplicativeGroupModuleLawsFail :: (Epsilon a, Epsilon (r a), MultiplicativeGroupModule r a) => [Law2 (r a) a]
- expFieldContainerLaws :: (ExpField (r a), Foldable r, ExpField a, Epsilon a, Signed a, FromRatio a, Epsilon (r a), Ord a) => [Law (r a)]
- tensorProductLaws :: (Eq (r (r a)), Additive (r (r a)), TensorProduct (r a), Epsilon (r a)) => [Law2 (r a) a]
- banachLaws :: (Foldable r, Epsilon (r a), Banach r a, Singleton r, Signed a, FromRatio a, Ord a) => [Law2 (r a) a]
- hilbertLaws :: (MultiplicativeModule r a, Epsilon a, Epsilon (r a), Hilbert r a) => [Law2 (r a) a]
- semiringLaws :: (Epsilon a, Semiring a) => [Law a]
- ringLaws :: (Epsilon a, Ring a) => [Law a]
- starSemiringLaws :: (Epsilon a, StarSemiring a) => [Law a]
- involutiveRingLaws :: forall a. (Eq a, MultiplicativeUnital a, InvolutiveRing a) => [Law a]
- integralsLaws :: (Eq a, AdditiveGroup a, Integral a, Signed a, ToInteger a, FromInteger a, Multiplicative a) => [Law a]
Documentation
unification of law equations
unification of law equations with 2 types
testLawOf2 :: (Arbitrary a, Show a, Arbitrary b, Show b) => [(a, b)] -> Law2 a b -> TestTree Source #
idempotentLaws :: (Eq a, Additive a, Multiplicative a) => [Law a] Source #
additiveLaws_ :: Epsilon a => [Law a] Source #
additive with approximate association equality
additiveLawsFail :: (Eq a, Additive a, Show a, Arbitrary a) => [Law a] Source #
additive laws with a failure on association
additiveGroupLaws :: (Eq a, AdditiveGroup a) => [Law a] Source #
multiplicativeLaws :: (Eq a, Multiplicative a) => [Law a] Source #
multiplicativeLawsFail :: (Eq a, Show a, Arbitrary a, Multiplicative a) => [Law a] Source #
multiplicativeMonoidalLaws :: (Eq a, MultiplicativeUnital a) => [Law a] Source #
multiplicativeGroupLaws :: (Eq a, AdditiveUnital a, MultiplicativeGroup a) => [Law a] Source #
multiplicativeGroupLaws_ :: (Epsilon a, MultiplicativeGroup a) => [Law a] Source #
distributionLaws :: (Eq a, Distribution a) => [Law a] Source #
distributionLawsFail :: (Show a, Arbitrary a, Epsilon a, Distribution a) => [Law a] Source #
integralLaws :: (Eq a, Integral a, FromInteger a, ToInteger a) => [Law a] Source #
normedLaws :: forall a b. (Ord b, AdditiveUnital a, AdditiveUnital b, MultiplicativeUnital b, Normed a b) => [Law2 a b] Source #
normedBoundedLaws :: forall a b. (Eq a, Bounded a, Ord b, AdditiveUnital a, AdditiveUnital b, MultiplicativeUnital b, Normed a b) => [Law2 a b] Source #
metricIntegralLaws :: forall a b. (FromInteger b, Ord b, Signed b, Epsilon b, Metric a b) => [Law2 a b] Source #
metricIntegralBoundedLaws :: forall a b. (FromInteger b, Bounded b, Ord b, Signed b, Epsilon b, Metric a b) => [Law2 a b] Source #
metricRationalLaws :: forall a b. (FromRatio b, Ord b, Signed b, Epsilon b, Metric a b, Normed a b) => [Law2 a b] Source #
upperBoundedFieldLaws :: forall a. (Eq a, UpperBoundedField a) => [Law a] Source #
lowerBoundedFieldLaws :: forall a. (Eq a, LowerBoundedField a) => [Law a] Source #
quotientFieldLaws :: (Field a, QuotientField a Integer, FromInteger a) => [Law2 a Integer] Source #
expFieldLaws :: forall a b. (FromInteger b, AdditiveUnital b, ExpField a, Normed a b, Epsilon a, Ord a, Ord b) => [Law2 a b] Source #
additiveBasisLaws :: (Epsilon (r a), AdditiveBasis r a) => [Law (r a)] Source #
additiveGroupBasisLaws :: (Eq (r a), Singleton r, AdditiveGroupBasis r a) => [Law (r a)] Source #
multiplicativeBasisLaws :: (Eq (r a), Singleton r, MultiplicativeBasis r a) => [Law (r a)] Source #
multiplicativeGroupBasisLaws :: (Epsilon a, Epsilon (r a), Singleton r, MultiplicativeGroupBasis r a) => [Law (r a)] Source #
additiveModuleLaws :: (Epsilon a, Epsilon (r a), AdditiveModule r a) => [Law2 (r a) a] Source #
additiveGroupModuleLaws :: (Epsilon a, Epsilon (r a), AdditiveGroupModule r a) => [Law2 (r a) a] Source #
multiplicativeModuleLaws :: (Epsilon a, Epsilon (r a), MultiplicativeModule r a) => [Law2 (r a) a] Source #
multiplicativeGroupModuleLawsFail :: (Epsilon a, Epsilon (r a), MultiplicativeGroupModule r a) => [Law2 (r a) a] Source #
expFieldContainerLaws :: (ExpField (r a), Foldable r, ExpField a, Epsilon a, Signed a, FromRatio a, Epsilon (r a), Ord a) => [Law (r a)] Source #
tensorProductLaws :: (Eq (r (r a)), Additive (r (r a)), TensorProduct (r a), Epsilon (r a)) => [Law2 (r a) a] Source #
banachLaws :: (Foldable r, Epsilon (r a), Banach r a, Singleton r, Signed a, FromRatio a, Ord a) => [Law2 (r a) a] Source #
hilbertLaws :: (MultiplicativeModule r a, Epsilon a, Epsilon (r a), Hilbert r a) => [Law2 (r a) a] Source #
starSemiringLaws :: (Epsilon a, StarSemiring a) => [Law a] Source #
starsemiring
involutiveRingLaws :: forall a. (Eq a, MultiplicativeUnital a, InvolutiveRing a) => [Law a] Source #
involutive ring
integralsLaws :: (Eq a, AdditiveGroup a, Integral a, Signed a, ToInteger a, FromInteger a, Multiplicative a) => [Law a] Source #