GSemigroup All Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup Any Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup Void Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup Ordering Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup () Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Identity a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (First a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Last a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Down a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (First a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Last a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Ord a => GSemigroup (Max a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Ord a => GSemigroup (Min a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GMonoid m => GSemigroup (WrappedMonoid m) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup |
GSemigroup a => GSemigroup (Dual a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Endo a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Num a => GSemigroup (Product a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Num a => GSemigroup (Sum a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
(Generic a, GSemigroup' (Rep a)) => GSemigroup (Default a) Source # | 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 (NonEmpty a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Maybe a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup [a] Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Either a b) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup (Proxy s) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup b => GSemigroup (a -> b) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
(GSemigroup a, GSemigroup b) => GSemigroup (a, b) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
GSemigroup a => GSemigroup (Const a b) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
Alternative f => GSemigroup (Alt f a) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal |
(GSemigroup a, GSemigroup b, GSemigroup c) => GSemigroup (a, b, c) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c) -> (a, b, c) -> (a, b, c) Source # gstimes :: Integral b0 => b0 -> (a, b, c) -> (a, b, c) Source # gsconcat :: NonEmpty (a, b, c) -> (a, b, c) Source # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d) => GSemigroup (a, b, c, d) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source # gstimes :: Integral b0 => b0 -> (a, b, c, d) -> (a, b, c, d) Source # gsconcat :: NonEmpty (a, b, c, d) -> (a, b, c, d) Source # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e) => GSemigroup (a, b, c, d, e) Source # | |
Instance detailsDefined in Generics.Deriving.Semigroup.Internal Methods gsappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source # gstimes :: Integral b0 => b0 -> (a, b, c, d, e) -> (a, b, c, d, e) Source # gsconcat :: NonEmpty (a, b, c, d, e) -> (a, b, c, d, e) Source # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e, GSemigroup f) => GSemigroup (a, b, c, d, e, f) Source # | |
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) Source # gstimes :: Integral b0 => b0 -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) Source # gsconcat :: NonEmpty (a, b, c, d, e, f) -> (a, b, c, d, e, f) Source # |
(GSemigroup a, GSemigroup b, GSemigroup c, GSemigroup d, GSemigroup e, GSemigroup f, GSemigroup g) => GSemigroup (a, b, c, d, e, f, g) Source # | |
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) Source # gstimes :: Integral b0 => b0 -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Source # gsconcat :: NonEmpty (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Source # |
(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) Source # | |
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) Source # gstimes :: Integral b0 => b0 -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) Source # gsconcat :: NonEmpty (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) Source # |