The standard Uniplate class, all operations require this.
Methods
uniplate :: UniplateType onThe underlying method in the class.
Given
uniplate x = (cs, gen)csshould be aStr on, constructed ofZero,OneandTwo, containing allx's direct children of the same type asx.genshould take aStr onwith exactly the same structure ascs, and generate a new element with the children replaced.Example instance:
instance Uniplate Expr where uniplate (Val i ) = (Zero , \Zero -> Val i ) uniplate (Neg a ) = (One a , \(One a) -> Neg a ) uniplate (Add a b) = (Two (One a) (One b), \(Two (One a) (One b)) -> Add a b)
Instances8Uniplate, …
Uniplate IntegerDefined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphanUniplate BoolDefined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphanUniplate CharDefined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphanUniplate DoubleDefined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphanUniplate FloatDefined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphanUniplate IntDefined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphanUniplate ()Defined in uniplate-1.6.13 · Data.Generics.PlateTypeable · orphan(Data a, Typeable a) => Uniplate aDefined in uniplate-1.6.13 · Data.Generics.PlateData · orphan