transformations-0.2.0.0: Generic representation of tree transformations

Safe HaskellNone
LanguageHaskell98

Generics.MultiRec.Transformations.Children

Synopsis

Documentation

allChildren :: forall phi ix xi. (Fam phi, Children phi (PF phi) xi) => phi ix -> phi xi -> ix -> [(Path phi xi ix, xi)] Source

Get all children with their paths

class Children phi f xi where Source

Methods

children :: (forall ix'. phi ix' -> phi xi -> Path phi ix' ix -> r ix' -> [(Path phi xi ix, r xi)]) -> phi ix -> phi xi -> (forall xi. phi xi -> Dir f xi ix -> Path phi xi ix) -> f r ix -> [(Path phi xi ix, r xi)] Source

Instances

Children phi U ix 
Children phi (K a) ix 
(Fam phi, El phi ix, El phi xi) => Children phi (I xi) ix 
(Fam phi, El phi ix) => Children phi (I ix) ix 
Children phi f ix => Children phi ((:.:) [] f) ix 
Children phi f ix => Children phi ((:.:) Maybe f) ix 
Children phi f ix => Children phi ((:>:) f xi) ix 
(Constructor c, Children phi f ix) => Children phi (C c f) ix 
(Children phi f ix, Children phi g ix, CountIs g) => Children phi ((:*:) f g) ix 
(Children phi f ix, Children phi g ix) => Children phi ((:+:) f g) ix