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

PortabilityAbstract concept of a Monoid.
Safe HaskellNone



Will be used in order to generate type classes for generic algebras. An algebra is a vector space that also is a monoid. Should we use the Monoid class from base library despite its unfortunate method name mappend?



class C a whereSource

We expect a monoid to adher to associativity and the identity behaving decently. Nothing more, really.


idt :: aSource

(<*>) :: a -> a -> aSource

cumulate :: [a] -> aSource


C All 
C Any 
C T 
C a => C (Dual a) 
C (Endo a) 
C a => C (Sum a) 
C a => C (Product a) 
C (First a) 
C (Last a) 
C a => C (T a) 
Ord a => C (Max a) 
Ord a => C (Min a) 
C a => C (LCM a) 
C a => C (GCD a) 
Ix i => C (T i) 
C a => C (T a)