numeric-prelude-0.3: An experimental alternative hierarchy of numeric type classes




newtype T a Source

Here a residue class is a representative and the modulus is an argument. You cannot show a value of type T, you can only show it with respect to a concrete modulus. Values cannot be compared, because the comparison result depends on the modulus.


Cons (a -> a) 


Eq (T a) 
(Num a, C a) => Num (T a) 
Show (T a) 
C a => C (T a) 
C a => C (T a) 
C a => C (T a) 
C a => C (T a) 

concrete :: a -> T a -> aSource

lift0 :: (a -> a) -> T aSource

lift1 :: (a -> a -> a) -> T a -> T aSource

lift2 :: (a -> a -> a -> a) -> T a -> T a -> T aSource

zero :: C a => T aSource

one :: C a => T aSource

equal :: Eq a => a -> T a -> T a -> BoolSource