hsdev-0.2.5.1: Haskell development library

Safe HaskellSafe
LanguageHaskell98

Data.Group

Synopsis

Documentation

class Eq a => Group a where Source #

Group is monoid with invertibility But for our purposes we prefer two functions: add and sub.

Minimal complete definition

add, sub, zero

Methods

add :: a -> a -> a Source #

sub :: a -> a -> a Source #

zero :: a Source #

Instances

Group Structured Source # 
Group Database Source # 
Eq a => Group [a] Source # 

Methods

add :: [a] -> [a] -> [a] Source #

sub :: [a] -> [a] -> [a] Source #

zero :: [a] Source #

Ord a => Group (Set a) Source # 

Methods

add :: Set a -> Set a -> Set a Source #

sub :: Set a -> Set a -> Set a Source #

zero :: Set a Source #

(Ord k, Group a) => Group (Map k a) Source # 

Methods

add :: Map k a -> Map k a -> Map k a Source #

sub :: Map k a -> Map k a -> Map k a Source #

zero :: Map k a Source #

groupSum :: Group a => [a] -> a Source #

Sums list