| Safe Haskell | None | 
|---|---|
| Language | Haskell98 | 
Number.ResidueClass.Maybe
Synopsis
- data T a = Cons {
- modulus :: !(Maybe a)
 - representative :: !a
 
 - (/:) :: C a => a -> a -> T a
 - matchMaybe :: Maybe a -> Maybe a -> Maybe a
 - isCompatibleMaybe :: Eq a => Maybe a -> Maybe a -> Bool
 - isCompatible :: Eq a => T a -> T a -> Bool
 - lift2 :: Eq a => (a -> a -> a -> a) -> (a -> a -> a) -> T a -> T a -> T a
 
Documentation
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 infix 7 | |
Fields 
  | |
(/:) :: C a => a -> a -> T a infix 7 Source #
r /: m is the residue class containing r with respect to the modulus m