Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | None |
Language | Haskell98 |
- 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