GSemigroup All # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup Any # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup Void # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup Ordering # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup () # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Identity a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (First a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Last a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Down a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (First a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Last a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Ord a => GSemigroup (Max a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Ord a => GSemigroup (Min a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GMonoid m => GSemigroup (WrappedMonoid m) # | |
Instance detailsDefined in Generics.Deriving.Semigroup |
GSemigroup a => GSemigroup (Dual a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Endo a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Num a => GSemigroup (Product a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Num a => GSemigroup (Sum a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (NonEmpty a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
(Generic a, GSemigroup' (Rep a)) => GSemigroup (Default a) # | Semigroups often have many sensible implementations of
<> / gsappend , and therefore no sensible default.
Indeed, there is no GSemigroup' instance for representations of sum
types. In other cases, one may wish to use the existing wrapper newtypes in
base , such as the following (using First ): newtype FirstSemigroup = FirstSemigroup Bool
deriving stock (Eq , Show )
deriving (GSemigroup ) via (First Bool )
|
Instance detailsDefined in Generics.Deriving.Default |
GSemigroup a => GSemigroup (Maybe a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup [a] # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Either a b) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Proxy s) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
(GSemigroup a, GSemigroup b) => GSemigroup (a, b) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup b => GSemigroup (a -> b) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Const a b) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Alternative f => GSemigroup (Alt f a) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
(GSemigroup a, GSemigroup b, GSemigroup c) => GSemigroup (a, b, c) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c) -> (a, b, c) -> (a, b, c) # gstimes :: Integral b0 => b0 -> (a, b, c) -> (a, b, c) # gsconcat :: NonEmpty (a, b, c) -> (a, b, c) # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d) => GSemigroup (a, b, c, d) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) # gstimes :: Integral b0 => b0 -> (a, b, c, d) -> (a, b, c, d) # gsconcat :: NonEmpty (a, b, c, d) -> (a, b, c, d) # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e) => GSemigroup (a, b, c, d, e) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) # gstimes :: Integral b0 => b0 -> (a, b, c, d, e) -> (a, b, c, d, e) # gsconcat :: NonEmpty (a, b, c, d, e) -> (a, b, c, d, e) # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e, GSemigroup f) => GSemigroup (a, b, c, d, e, f) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) # gstimes :: Integral b0 => b0 -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) # gsconcat :: NonEmpty (a, b, c, d, e, f) -> (a, b, c, d, e, f) # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e, GSemigroup f, GSemigroup g) => GSemigroup (a, b, c, d, e, f, g) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) # gstimes :: Integral b0 => b0 -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) # gsconcat :: NonEmpty (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e, GSemigroup f, GSemigroup g, GSemigroup h) => GSemigroup (a, b, c, d, e, f, g, h) # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) # gstimes :: Integral b0 => b0 -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) # gsconcat :: NonEmpty (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) # |