Copyright | (C) 2018 Csongor Kiss |
---|---|
Maintainer | Csongor Kiss <kiss.csongor.kiss@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
License : BSD3 Stability : experimental Portability : non-portable
Derive traversal over type parameters
Documentation
class HasParam (p :: Nat) s t a b | p t a -> s, p s b -> t, p s -> a, p t -> b where Source #
param :: Applicative g => (a -> g b) -> s -> g t Source #
Instances
(GenericN s, GenericN t, s ~ Infer t (P n b PTag) a, t ~ Infer s (P n a PTag) b, Error (ArgCount s <=? n) n (ArgCount s) s, a ~ (ArgAt s n :: Type), b ~ (ArgAt t n :: Type), GHasParam n (RepN s) (RepN t) a b) => HasParam n s t a b Source # | |
Defined in Data.Generics.Product.Param param :: Applicative g => (a -> g b) -> s -> g t Source # | |
HasParam p (Void1 a) (Void1 b) a b Source # | |
Defined in Data.Generics.Product.Param |