classyplate-0.3.1.0: Fuseable type-class based generics

Safe HaskellNone
LanguageHaskell2010

Data.Generics.ClassyPlate.TypePrune

Synopsis

Documentation

type family ClassIgnoresSubtree (cls :: * -> Constraint) (typ :: *) :: Bool where ... Source #

This type decides if the subtree of an element cannot contain an element that is transformed.

Equations

ClassIgnoresSubtree cls typ = Not (AnySelected cls (MemberTypes typ)) 

type family AppSelector (c :: * -> Constraint) (a :: *) :: Bool Source #

Instantiate this type family to signal what elements does your operation operate on. If AppSelector c t is True, there should be a c t instance. AppSelector should be a total type function for a given class, at least for all the types that can possibly accessed.

Instances

type AppSelector (MonoMatch a) b Source # 
type AppSelector (MonoMatch a) b = TypEq a b

type family AppPruning (c :: * -> Constraint) (a :: *) :: Bool Source #

type family IgnoredFields (t :: *) :: [Either (Symbol, Nat) Symbol] Source #

This type family sets which fields should not be traversed when trying to generate automatically pruned versions of classy traversal.