Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data A a = A a (Sum Int) ()
- class GenericTraverse f where
- type GenericTraverseC f a :: Constraint
- genericTraverseAction :: GenericTraverseC f a => String -> String -> Maybe String -> Natural -> f a
- class GTraverseC cd cc (si :: Natural) f f' where
- gTraverseC :: f (f' p)
- type family ProdArity (f :: Type -> Type) :: Natural where ...
Documentation
Instances
Generic (A a) Source # | |
Show a => Show (A a) Source # | |
type Rep (A a) Source # | |
Defined in Generic.Data.Function.Traverse.Constructor type Rep (A a) = D1 ('MetaData "A" "Generic.Data.Function.Traverse.Constructor" "generic-data-functions-0.2.0-inplace" 'False) (C1 ('MetaCons "A" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Sum Int)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ())))) |
class GenericTraverse f where Source #
Applicative
functors that can be generically traverse
d.
type GenericTraverseC f a :: Constraint Source #
The type class providing (applicative) actions for permitted types.
genericTraverseAction Source #
:: GenericTraverseC f a | |
=> String | data type name |
-> String | constructor name |
-> Maybe String | record name (if present) |
-> Natural | field index |
-> f a |
The action in traverse
(first argument).
We include data type metadata because this function is useful for monadic parsers, which can record it in error messages. (We don't do it for foldMap because it's pure.)
Instances
GenericTraverse EmptyRec0 Source # |
Can result in type errors lacking context: a field missing a Maybe silly. |
Defined in Generic.Data.Function.Traverse.Constructor type GenericTraverseC EmptyRec0 a Source # | |
GenericTraverse NoRec0 Source # |
|
Defined in Generic.Data.Function.Traverse.Constructor type GenericTraverseC NoRec0 a Source # |
class GTraverseC cd cc (si :: Natural) f f' where Source #
gTraverseC :: f (f' p) Source #
Instances
Applicative f => GTraverseC (cd :: k1) (cc :: k2) 0 (f :: Type -> Type) (U1 :: k3 -> Type) Source # | |
Defined in Generic.Data.Function.Traverse.Constructor gTraverseC :: forall (p :: k). f (U1 p) Source # | |
(Applicative f, GTraverseC cd cc si f l, GTraverseC cd cc (si + ProdArity r) f r) => GTraverseC (cd :: k1) (cc :: k2) si (f :: Type -> Type) (l :*: r :: Type -> Type) Source # | |
Defined in Generic.Data.Function.Traverse.Constructor gTraverseC :: forall (p :: k). f ((l :*: r) p) Source # | |
(GenericTraverse f, GenericTraverseC f a, Functor f, KnownNat si, Selector cs, Constructor cc, Datatype cd) => GTraverseC (cd :: k2) (cc :: k1) si (f :: Type -> Type) (S1 cs (Rec0 a) :: k3 -> Type) Source # | |
Defined in Generic.Data.Function.Traverse.Constructor gTraverseC :: forall (p :: k). f (S1 cs (Rec0 a) p) Source # |