alg-0.1.0.0: Algebraic structures

Algebra

# Documentation

class Semigroup a => Abelian a Source #

class Monoid a => Group a where Source #

Minimal complete definition

invert

Methods

invert :: a -> a Source #

Instances

 Group () Source # Methodsinvert :: () -> () Source # Group a => Group (IO a) Source # Methodsinvert :: IO a -> IO a Source # Group a => Group (Identity a) Source # Methods Group a => Group (Dual a) Source # Methodsinvert :: Dual a -> Dual a Source # Source # Methods Group b => Group (a -> b) Source # Methodsinvert :: (a -> b) -> a -> b Source # (Group a, Group b) => Group (a, b) Source # Methodsinvert :: (a, b) -> (a, b) Source # Group (Proxy k a) Source # Methodsinvert :: Proxy k a -> Proxy k a Source # (Group a, Group b, Group c) => Group (a, b, c) Source # Methodsinvert :: (a, b, c) -> (a, b, c) Source # Group a => Group (Const k a b) Source # Methodsinvert :: Const k a b -> Const k a b Source # (Group a, Group b, Group c, Group d) => Group (a, b, c, d) Source # Methodsinvert :: (a, b, c, d) -> (a, b, c, d) Source # (Group a, Group b, Group c, Group d, Group e) => Group (a, b, c, d, e) Source # Methodsinvert :: (a, b, c, d, e) -> (a, b, c, d, e) Source #

(+) :: Semigroup (Sum a) => a -> a -> a Source #

(-) :: (Semigroup (Sum a), Group (Sum a)) => a -> a -> a Source #

(*) :: Semigroup (Product a) => a -> a -> a Source #

(/) :: (Semigroup (Product a), Group (Product a)) => a -> a -> a Source #