h$/r*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                          None >deep-transformations"Composition of two transformationsdeep-transformations An unnatural , can behave differently at different points.deep-transformationsApply the transformation t at type x to map  to the  functor.deep-transformationsA ., natural or not, maps one functor to another.deep-transformationsAlphabetical synonym for 0None2>? deep-transformationsThe core type class for defining the attribute grammar. The instances of this class typically have a form like instance Attribution MyAttGrammar MyNode (Semantics MyAttGrammar) Identity where attribution MyAttGrammar{} (Identity MyNode{}) (Inherited fromParent, Synthesized MyNode{firstChild= fromFirstChild, ...}) = (Synthesized _forMyself, Inherited MyNode{firstChild= _forFirstChild, ...})If you prefer to separate the calculation of different attributes, you can split the above instance into two instances of the    and   ! classes instead. If you derive  instances for your attributes, you can even define each synthesized attribute individually with a   instance.deep-transformations9The attribution rule for a given transformation and node.deep-transformationsAn attribution rule maps a node's inherited attributes and its child nodes' synthesized attributes to the node's synthesized attributes and the children nodes' inherited attributes.deep-transformations(All inherited and synthesized attributesdeep-transformations A node's  is a natural tranformation from the node's inherited attributes to all its attributes paired with the preserved node.deep-transformations A node's  is a natural tranformation from the node's inherited attributes to its synthesized attributes.deep-transformationsType constructor wrapping the synthesized attributes for the given transformation.deep-transformationsType constructor wrapping the inherited attributes for the given transformation.deep-transformationsType family that maps a node type to the type of its attributes, indexed per type constructor. deep-transformations7The core function to tie the recursive knot, turning a  for a node into its .!deep-transformations/Another way to tie the recursive knot, using a  to add  information to every node"deep-transformationsDrop-in implementation of #deep-transformationsDrop-in implementation of 7 that preserves all attributes with every original node !"# !"#None >?< ,deep-transformationsLike Transformation.Deep.& except it traverses an additional wrapper around the entire tree.deep-transformationsLike Transformation.Deep.(' except the entire tree is also wrapped0deep-transformationsLike Transformation.Deep.*< except it maps an additional wrapper around the entire tree2deep-transformationsAlphabetical synonym for 13deep-transformationsDefault implementation for 1( that maps the wrapper and then the tree4deep-transformationsDefault implementation for 1( that maps the tree and then the wrapper5deep-transformationsDefault implementation for /) that folds the wrapper and then the tree6deep-transformationsDefault implementation for /) that folds the tree and then the wrapper7deep-transformationsDefault implementation for -- that traverses the wrapper and then the tree8deep-transformationsDefault implementation for -- that traverses the tree and then the wrapper ,-./012345678 01./,-234567814None 23>A&deep-transformationsLike Transformation.Shallow.  except it folds all descendants and not only immediate children(deep-transformationsLike Transformation.Shallow.  except it folds all descendants and not only immediate children*deep-transformationsLike Transformation.Shallow. ? except it maps all descendants and not only immediate children9deep-transformationsLike 4 for data types with two type constructor parameters<deep-transformationsLike 4 for data types with two type constructor parameters@deep-transformationsAlphabetical synonym for +Adeep-transformationsEquivalent of &'()*+9;:<=?>@A*+()&'<=?>9;:@A+4NoneUVWUVWNone3>? Zdeep-transformationsThe core type class for defining the attribute grammar. The instances of this class typically have a form like instance Attribution MyAttGrammar MyMonoid MyNode (Semantics MyAttGrammar) Identity where attribution MyAttGrammar{} (Identity MyNode{}) Atts{inh= fromParent, syn= fromChildren} = Atts{syn= toParent, inh= toChildren}[deep-transformations9The attribution rule for a given transformation and node.\deep-transformationsAn attribution rule maps a node's inherited attribute and its child nodes' synthesized attribute to the node's synthesized attribute and the children nodes' inherited attributes.]deep-transformations A node's ]; maps its inherited attribute to its synthesized attribute.^deep-transformations A node's ^; maps its inherited attribute to its synthesized attribute.cdeep-transformationsTransformation wrapper that allows automatic inference of attribute rules and preservation of the attribute with the original nodes.edeep-transformationsTransformation wrapper that allows automatic inference of attribute rules.gdeep-transformations7The core function to tie the recursive knot, turning a \ for a node into its ^.hdeep-transformations/Another way to tie the recursive knot, using a \> to add attributes to every node througha stateful calculationideep-transformationsDrop-in implementation of jdeep-transformationsDrop-in implementation of 1kdeep-transformationsDrop-in implementation of 4 that stores all attributes with every original nodeldeep-transformationsDrop-in implementation of -4 that stores all attributes with every original nodeXYZ[\]^_`bacdefghijklefcd_`ba^]\ghZ[ijklXYNonez{|}~z|~{}None >?Ydeep-transformationsTransform (naturally) the containing functor of every node in the given tree.deep-transformations!0deep-transformations Like Rank2. except it takes a " instead of a polymorphic functiondeep-transformations Like Rank2. except it takes a " instead of a polymorphic functiondeep-transformations Like Rank2. except it takes a " instead of a polymorphic functiondeep-transformationsAlphabetical synonym for 4 None./029>?) deep-transformationsWrapper for a field that should be automatically synthesized by traversing over all child nodes and applying each node's synthesized attribute of the same name.deep-transformationsWrapper for a field that should be automatically synthesized by replacing every child node by its synthesized attribute of the same name.deep-transformationsWrapper for a field that should be automatically synthesized by folding together all child nodes' synthesized attributes of the same name.deep-transformations-Class for specifying a single named attributedeep-transformationsA half of the 2 class used to specify all synthesized attributes.deep-transformationsA half of the 0 class used to specify all inherited attributes.deep-transformations0Extract the value from the transformation domaindeep-transformationsTransformation wrapper that allows automatic inference of attribute rules and preservation of all attributes with the original nodes.deep-transformationsTransformation wrapper that allows automatic inference of attribute rules.deep-transformations The default  method definition relies on generics to automatically pass down all same-named inherited attributes.deep-transformations>Pass down the given record of inherited fields to child nodes.deep-transformations The default  method definition for  fields.deep-transformations The default  method definition for  fields.deep-transformationsattribute namedeep-transformationstransformationdeep-transformations tree nodedeep-transformationsinherited attributesdeep-transformationssynthesized attributesdeep-transformationstransformation deep-transformations tree nodedeep-transformationsinherited attributes deep-transformationssynthesized attributesdeep-transformationstransformation deep-transformations tree nodedeep-transformationsinherited attributes deep-transformationssynthesized attributes None*o !"#$%&'()*++,-./001223456789:;<=;<=>?@ABCDEFGHI>JKLMNOPQRSTUVWXYZ[\]^_`aa()*./4431bbcc567d8efghijklmnopqrstuvwxyyzz{{=<;|}~  ;  <  = > L  K                  b b c c     h i j k                                                ^ _  `/deep-transformations-0.2-DrMl6U1nIXlFmXdhnTmfLbTransformationTransformation.AGTransformation.DeepTransformation.FullTransformation.Deep.THTransformation.AG.MonomorphicTransformation.Full.THTransformation.Rank2Transformation.ShallowTransformation.AG.GenericsTransformation.Shallow.TH Bequether Synthesizer GHC.GenericsGenericSynthesizedField TraversableFoldableFunctorData.Functor.SumSumData.Functor.ProductProduct Data.EithereitherComposeAt$DomainCodomainapply$fTransformationEither$fTransformation(,)$fTransformationArrow $fAtEitherx$fAt(,)x $fAtArrowx $fAtComposex$fTransformationCompose Attribution attributionRuleAllAttsallInhallSynPreservingSemantics Semantics Synthesizedsyn InheritedinhAttsknit knitKeeping applyDefaultapplyDefaultWithAttributes$fShowSynthesized$fShowInheritedtraversefoldMap<$>fmapmapDownDefault mapUpDefaultfoldMapDownDefaultfoldMapUpDefaulttraverseDownDefaulttraverseUpDefaultInLInRPairfstsnd eitherFromSum$fTraversabletProduct$fFunctortProduct$fDistributiveTYPEProduct$$fDistributiveTraversableTYPEProduct$fTraversableTYPEProduct$fFoldableTYPEProduct$fApplicativeTYPEProduct$fApplyTYPEProduct$fFunctorTYPEProduct$fTraversabletSum$fFoldabletSum $fFunctortSum$fTraversableTYPESum$fFoldableTYPESum$fFunctorTYPESum $fShowSum $fDataSum $fShowProduct $fDataProduct deriveAll deriveFunctorderiveTraversableFeederKeepAutofullMapDefaulttraverseDefaultWithAttributes $fMonoidAtts$fSemigroupAtts$fFunctorAutog$fFunctorKeepg $fAtKeepg $fAtAutog$fAttributiontagdeepshallow$fTraversableFeederg $fAtFeederg$fTransformationFeeder$fTraversableKeepg $fDataAtts $fShowAttsderiveDownFunctorderiveUpFunctorderiveDownFoldablederiveUpFoldablederiveDownTraversablederiveUpTraversable TraversalFoldMap $fFunctorMapg$fAtMapx$fTransformationMap $fAtFoldx$fTransformationFold$fAtTraversalx$fTransformationTraversal$fFoldabletProduct Traversed getTraversedMapped getMappedFolded getFoldedsynthesizedField synthesisbequest RevelationrevealbequestDefaultpassDown foldedField mappedField$fAttributionAutogds$fFunctorTraversed $fAtPassDowna$fTransformationPassDown$fBequethertgArrowshallow)$fSynthesizedFieldnameFoldedtgdeepshallow$fTransformationAccumulator#$fSynthesizedFieldnameMappedtgdeepf$fAtReplicatora$fTransformationReplicator&$fSynthesizedFieldnameTraversedtgdeepf$fAtTraversera$fTransformationTraverser$$fGenericSynthesizerktgdeepshallowM1%$fGenericSynthesizerktgdeepshallow:*:$fSynthesizertgds-$fGenericSynthesizedFieldknameK1tgdeepshallow%$fGenericSynthesizerktgdeepshallowM10$fMayHaveMonoidalFieldknameaf$fMayHaveMonoidalFieldknameaM1$fMayHaveMonoidalFieldknameaM10$fMayHaveMonoidalFieldknameaM11$fMayHaveMonoidalFieldknamea:+:$fMayHaveMonoidalFieldknamea:*:$fAtAccumulatorx$fFoundFieldkaK1$fFoundFieldkaM1$fMayHaveMonoidalFieldknameaM12 $fEqTraversed$fOrdTraversed$fShowTraversed$fSemigroupTraversed$fMonoidTraversed $fEqMapped $fOrdMapped $fShowMapped$fSemigroupMapped$fMonoidMapped$fFunctorMapped$fApplicativeMapped $fMonadMapped$fFoldableMapped $fEqFolded $fOrdFolded $fShowFolded$fSemigroupFolded$fMonoidFoldedderiveFoldable(rank2classes-1.4.4-CNHdanKs7MC148xUO71rnRank2