generic-type-functions-0.1.0: Familiar functions lifted to type-level functions on generic types
Safe HaskellNone
LanguageGHC2021

Generic.Type.Function.FoldMap

Synopsis

Documentation

type family GTFoldMapC (tmappend :: m ~> (m ~> m)) (tmempty :: m) (f :: Type ~> m) (gf :: k -> Type) :: m where ... Source #

foldMap on generic type representations (field product level).

Will work for single-constructor types as well thanks to meta unwrapping.

Equations

GTFoldMapC (tmappend :: m ~> (m ~> m)) (tmempty :: m) (f :: Type ~> m) (U1 :: k -> Type) = tmempty 
GTFoldMapC (tmappend :: k1 ~> (k1 ~> k1)) (tmempty :: k1) (f :: Type ~> k1) (K1 i c :: k2 -> Type) = f @@ c 
GTFoldMapC (tmappend :: m ~> (m ~> m)) (tmempty :: m) (f :: Type ~> m) (l :*: r :: k -> Type) = (tmappend @@ GTFoldMapC tmappend tmempty f l) @@ GTFoldMapC tmappend tmempty f r 
GTFoldMapC (tmappend :: m ~> (m ~> m)) (tmempty :: m) (f :: Type ~> m) (M1 _1 _2 gf :: k -> Type) = GTFoldMapC tmappend tmempty f gf