Copyright | (c) 2019 Athan Clark |
---|---|
License | BSD-3-Style |
Maintainer | athan.clark@gmail.com |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
This module provides newtypes for ensuring consistent functionality with respect to various class laws:
Monoids, SemiRing, etc are all included via the
abides library. Note: This only verifies the consistency
of behavior between platforms - if both platforms are broken (return False
) consistently, the tests
will pass. Prevent this by implementing a local test suite with
QuickCheck, and use the abides property tests
directly.
Documentation
newtype AbidesSemigroup a Source #
Instances
newtype AbidesMonoid a Source #
Instances
AbidesEq | |
|
Instances
AbidesOrd | |
|
Instances
newtype AbidesEnum a Source #
AbidesEnum | |
|
Instances
newtype AbidesSemiring a Source #
Instances
newtype AbidesRing a Source #
AbidesRing | |
|
Instances
newtype AbidesCommutativeRing a Source #
Instances
newtype AbidesDivisionRing a Source #
Instances
newtype AbidesEuclideanRing a Source #
Instances
newtype AbidesField a Source #