groups 0.2.0.1 → 0.3.0.0
raw patch · 2 files changed
+24/−1 lines, 2 files
Files
- groups.cabal +1/−1
- src/Data/Group.hs +23/−0
groups.cabal view
@@ -1,5 +1,5 @@ name: groups-version: 0.2.0.1+version: 0.3.0.0 synopsis: Haskell 98 groups description: Haskell 98 groups. A group is a monoid with invertibility.
src/Data/Group.hs view
@@ -39,3 +39,26 @@ instance (Group a, Group b, Group c, Group d, Group e) => Group (a, b, c, d, e) where invert (a, b, c, d, e) = (invert a, invert b, invert c, invert d, invert e)+ +-- |An 'Abelian' group is a 'Group' that follows the rule:+-- +-- @a \<> b == b \<> a@+class Group g => Abelian g++instance Abelian ()++instance Num a => Abelian (Sum a)++instance Fractional a => Abelian (Product a)++instance Abelian a => Abelian (Dual a)++instance Abelian b => Abelian (a -> b)++instance (Abelian a, Abelian b) => Abelian (a, b)++instance (Abelian a, Abelian b, Abelian c) => Abelian (a, b, c)++instance (Abelian a, Abelian b, Abelian c, Abelian d) => Abelian (a, b, c, d)++instance (Abelian a, Abelian b, Abelian c, Abelian d, Abelian e) => Abelian (a, b, c, d, e)