generic-data-functions-0.2.0: Familiar functions lifted to generic data types
Safe HaskellSafe-Inferred
LanguageGHC2021

Generic.Data.Function.FoldMap.Constructor

Synopsis

Documentation

class GenericFoldMap m where Source #

Monoids that can be generically foldMapped to.

Associated Types

type GenericFoldMapC m a :: Constraint Source #

The type class that enables mapping permitted types to the monoid.

The type class should provide a function that looks like genericFoldMapF.

Methods

genericFoldMapF :: GenericFoldMapC m a => a -> m Source #

The "map" function in foldMap (first argument).

Instances

Instances details
GenericFoldMap Showly Source # 
Instance details

Defined in Generic.Data.Function.Example

Associated Types

type GenericFoldMapC Showly a Source #

Monoid m => GenericFoldMap (EmptyRec0 m) Source #

foldMap over types where all fields map to mempty.

Instance details

Defined in Generic.Data.Function.FoldMap.Constructor

Associated Types

type GenericFoldMapC (EmptyRec0 m) a Source #

GenericFoldMap (NoRec0 m) Source #

foldMap over types with no fields in any constructor.

Instance details

Defined in Generic.Data.Function.FoldMap.Constructor

Associated Types

type GenericFoldMapC (NoRec0 m) a Source #

class GFoldMapC m f where Source #

foldMap on individual constructors (products).

Methods

gFoldMapC :: f p -> m Source #

Instances

Instances details
Monoid m => GFoldMapC m (U1 :: k -> Type) Source #

Wow, look! Nothing!

Instance details

Defined in Generic.Data.Function.FoldMap.Constructor

Methods

gFoldMapC :: forall (p :: k0). U1 p -> m Source #

(Semigroup m, GFoldMapC m l, GFoldMapC m r) => GFoldMapC m (l :*: r :: k -> Type) Source #

foldMap on individual constructors (products).

Instance details

Defined in Generic.Data.Function.FoldMap.Constructor

Methods

gFoldMapC :: forall (p :: k0). (l :*: r) p -> m Source #

(GenericFoldMap m, GenericFoldMapC m a) => GFoldMapC m (S1 c (Rec0 a) :: k -> Type) Source # 
Instance details

Defined in Generic.Data.Function.FoldMap.Constructor

Methods

gFoldMapC :: forall (p :: k0). S1 c (Rec0 a) p -> m Source #