Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- associative :: Monoid a => Law a
- leftIdentity :: Monoid a => Law a
- rightIdentity :: Monoid a => Law a
- identityLaws :: Monoid a => [Law a]
- monoidLaws :: Monoid a => [Law a]
- commutativeMonoidLaws :: Monoid a => [Law a]
- idempotent :: Monoid a => Law a
- leftInverse :: Group a => Law a
- rightInverse :: Group a => Law a
- doubleInverse :: Group a => Law a
- inverseIdentity :: Group a => Law a
- inverseDistrFlipped :: Group a => Law a
- inverseLaws :: Group a => [Law a]
- groupLaws :: Group a => [Law a]
- appendInverseLaws :: Group a => [Law a]
- commutative :: Monoid a => Law a
- inverseDistr :: Group a => Law a
- abelianGroupLaws :: Group a => [Law a]
- leftZero :: MonoidZero a => Law a
- rightZero :: MonoidZero a => Law a
- zeroLaws :: MonoidZero a => [Law a]
- monoidZeroLaws :: MonoidZero a => [Law a]
- associativeFor :: (a -> a -> a) -> Law a
- commutativeFor :: (a -> a -> a) -> Law a
- idempotentFor :: (a -> a -> a) -> Law a
- leftDistributiveFor :: (a -> a -> a) -> (a -> a -> a) -> Law a
- rightDistributiveFor :: (a -> a -> a) -> (a -> a -> a) -> Law a
Monoid laws
associative :: Monoid a => Law a Source #
leftIdentity :: Monoid a => Law a Source #
rightIdentity :: Monoid a => Law a Source #
identityLaws :: Monoid a => [Law a] Source #
monoidLaws :: Monoid a => [Law a] Source #
commutativeMonoidLaws :: Monoid a => [Law a] Source #
idempotent :: Monoid a => Law a Source #
Not all monoids are idempotent (see: idempotentFor)
Group laws
leftInverse :: Group a => Law a Source #
rightInverse :: Group a => Law a Source #
doubleInverse :: Group a => Law a Source #
inverseIdentity :: Group a => Law a Source #
inverseDistrFlipped :: Group a => Law a Source #
inverseLaws :: Group a => [Law a] Source #
appendInverseLaws :: Group a => [Law a] Source #
Abelian group laws
commutative :: Monoid a => Law a Source #
inverseDistr :: Group a => Law a Source #
abelianGroupLaws :: Group a => [Law a] Source #
Laws for monoids with a zero element
leftZero :: MonoidZero a => Law a Source #
rightZero :: MonoidZero a => Law a Source #
zeroLaws :: MonoidZero a => [Law a] Source #
monoidZeroLaws :: MonoidZero a => [Law a] Source #
Generalized laws
associativeFor :: (a -> a -> a) -> Law a Source #
commutativeFor :: (a -> a -> a) -> Law a Source #
idempotentFor :: (a -> a -> a) -> Law a Source #
leftDistributiveFor :: (a -> a -> a) -> (a -> a -> a) -> Law a Source #
rightDistributiveFor :: (a -> a -> a) -> (a -> a -> a) -> Law a Source #