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

Language | Haskell98 |

# Documentation

class Monoid m => Group m where #

A `Group`

is a `Monoid`

plus a function, `invert`

, such that:

a <> invert a == mempty

invert a <> a == mempty

## Instances

Group () # | |

Group a => Group (Dual a) # | |

Num a => Group (Sum a) # | |

Fractional a => Group (Product a) # | |

Group b => Group (a -> b) # | |

(Group a, Group b) => Group (a, b) # | |

(Group a, Group b, Group c) => Group (a, b, c) # | |

(Group a, Group b, Group c, Group d) => Group (a, b, c, d) # | |

(Group a, Group b, Group c, Group d, Group e) => Group (a, b, c, d, e) # | |

## Instances

Abelian () # | |

Defined in Data.Group | |

Abelian a => Abelian (Dual a) # | |

Defined in Data.Group | |

Num a => Abelian (Sum a) # | |

Defined in Data.Group | |

Fractional a => Abelian (Product a) # | |

Defined in Data.Group | |

Abelian b => Abelian (a -> b) # | |

Defined in Data.Group | |

(Abelian a, Abelian b) => Abelian (a, b) # | |

Defined in Data.Group | |

(Abelian a, Abelian b, Abelian c) => Abelian (a, b, c) # | |

Defined in Data.Group | |

(Abelian a, Abelian b, Abelian c, Abelian d) => Abelian (a, b, c, d) # | |

Defined in Data.Group | |

(Abelian a, Abelian b, Abelian c, Abelian d, Abelian e) => Abelian (a, b, c, d, e) # | |

Defined in Data.Group |