Safe Haskell | None |
---|---|

Language | Haskell98 |

- newtype T a = Cons (a -> a)
- concrete :: a -> T a -> a
- fromRepresentative :: C a => a -> T a
- lift0 :: (a -> a) -> T a
- lift1 :: (a -> a -> a) -> T a -> T a
- lift2 :: (a -> a -> a -> a) -> T a -> T a -> T a
- zero :: C a => T a
- one :: C a => T a
- fromInteger :: C a => Integer -> T a
- equal :: Eq a => a -> T a -> T a -> Bool
- notImplemented :: String -> a
- lift98_1 :: (T a -> T a -> T a) -> T a -> T a
- lift98_2 :: (T a -> T a -> T a -> T a) -> T a -> T a -> T a

# Documentation

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) |

fromRepresentative :: C a => a -> T a Source

fromInteger :: C a => Integer -> T a Source

notImplemented :: String -> a Source