 | NumericPrelude-0.0: An experimental alternative hierarchy of numeric type classes | Contents | Index |
|
| Number.ResidueClass.Maybe |
|
|
|
|
|
| Synopsis |
|
|
|
| Documentation |
|
| data T a |
Here we try to provide implementations for zero and one
by making the modulus optional.
We have to provide non-modulus operations for the cases
where both operands have Nothing modulus.
This is problematic since operations like (/)
depend essentially on the modulus.
A working version with disabled zero and one can be found ResidueClass.
| | Constructors | | Cons | | | modulus :: !(Maybe a) | the modulus can be Nothing to denote a generic constant like zero and one which could not be bound to a specific modulus so far
| | representative :: !a | |
|
| Instances | |
|
|
| (/:) :: C a => a -> a -> T a |
| r /: m is the residue class containing r with respect to the modulus m
|
|
| matchMaybe :: Maybe a -> Maybe a -> Maybe a |
|
| isCompatibleMaybe :: Eq a => Maybe a -> Maybe a -> Bool |
|
| isCompatible :: Eq a => T a -> T a -> Bool |
| Check if two residue classes share the same modulus
|
|
| lift2 :: Eq a => (a -> a -> a -> a) -> (a -> a -> a) -> T a -> T a -> T a |
|
| Produced by Haddock version 0.7 |