- newtype T a b = Cons {
- toFunc :: a -> b

- concrete :: a -> T a b -> b
- fromRepresentative :: C a => a -> T a a
- getZero :: C a => T a a
- getOne :: C a => T a a
- fromInteger :: C a => Integer -> T a a
- getAdd :: C a => T a (a -> a -> a)
- getSub :: C a => T a (a -> a -> a)
- getNeg :: C a => T a (a -> a)
- getAdditiveVars :: C a => T a (a, a -> a -> a, a -> a -> a, a -> a)
- getMul :: C a => T a (a -> a -> a)
- getRingVars :: C a => T a (a, a -> a -> a)
- getDivide :: C a => T a (a -> a -> a)
- getRecip :: C a => T a (a -> a)
- getFieldVars :: C a => T a (a -> a -> a, a -> a)
- monadExample :: C a => T a [a]
- runExample :: [Integer]

# Documentation

T is a Reader monad but does not need functional dependencies like that from the Monad Template Library.

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

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

getAdditiveVars :: C a => T a (a, a -> a -> a, a -> a -> a, a -> a)Source

getRingVars :: C a => T a (a, a -> a -> a)Source

getFieldVars :: C a => T a (a -> a -> a, a -> a)Source

monadExample :: C a => T a [a]Source

runExample :: [Integer]Source