Safe Haskell | None |
---|---|
Language | Haskell2010 |
Orphan instances allowing generic deriving of Group
instances:
> data MyRecord > = MyRecord > { field1 :: Sum Double > , field2 :: Product Double > , field3 :: ( Sum Int, Sum Int ) > } > deriving Generic > deriving ( Semigroup, Monoid, Group ) > via GenericProduct MyRecord
Also includes some instances for newtypes from base
such as Identity
and Const
.
Orphan instances
Group g => Group (Par1 g) Source # | |
(Generic g, Semigroup g, Monoid (Generically g), Group (Rep g ())) => Group (Generically g) Source # | |
invert :: Generically g -> Generically g # (~~) :: Generically g -> Generically g -> Generically g # pow :: Integral x => Generically g -> x -> Generically g # | |
(Generic g, Monoid (GenericProduct g), Group (Rep g ())) => Group (GenericProduct g) Source # | |
invert :: GenericProduct g -> GenericProduct g # (~~) :: GenericProduct g -> GenericProduct g -> GenericProduct g # pow :: Integral x => GenericProduct g -> x -> GenericProduct g # | |
(Generic g, Semigroup g, Monoid (Generically g), Abelian (Rep g ())) => Abelian (Generically g) Source # | |
(Generic g, Monoid (GenericProduct g), Abelian (Rep g ())) => Abelian (GenericProduct g) Source # | |
Group (U1 p) Source # | |
Group (f p) => Group (Rec1 f p) Source # | |
Group g => Group (K1 i g p) Source # | |
Group (f p) => Group (M1 i c f p) Source # | |