h$"]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h i j k l m n o p q r s t u v w x y z { | } ~                                                    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 0None >?  deep-transformationsLike Transformation.Deep. except it traverses an additional wrapper around the entire treedeep-transformationsLike Transformation.Deep.' except the entire tree is also wrappeddeep-transformationsLike Transformation.Deep.< except it maps an additional wrapper around the entire treedeep-transformationsAlphabetical synonym for deep-transformationsDefault implementation for ( that maps the wrapper and then the treedeep-transformationsDefault implementation for ( that maps the tree and then the wrapperdeep-transformationsDefault implementation for ) that folds the wrapper and then the tree deep-transformationsDefault implementation for ) that folds the tree and then the wrapper!deep-transformationsDefault implementation for - that traverses the wrapper and then the tree"deep-transformationsDefault implementation for - that traverses the tree and then the wrapper  !"  !"None 23> deep-transformationsLike Transformation.Shallow.  except it folds all descendants and not only immediate childrendeep-transformationsLike Transformation.Shallow.  except it folds all descendants and not only immediate childrendeep-transformationsLike Transformation.Shallow. ? except it maps all descendants and not only immediate children#deep-transformationsLike 4 for data types with two type constructor parameters'deep-transformationsAlphabetical synonym for  #$&%' #$&%'None 345345None2>? 6deep-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.7deep-transformations9The attribution rule for a given transformation and node.8deep-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.9deep-transformations A node's 9 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.Adeep-transformations7The core function to tie the recursive knot, turning a 8 for a node into its 9.Bdeep-transformationsDrop-in implementation of Cdeep-transformationsDrop-in implementation of 6789:;<=>?@ABC@=>?:;<98A67BCNoneNFGHIJKFHJGIKNone >?Rdeep-transformationsTransform (naturally) the containing functor of every node in the given tree.Sdeep-transformations_\deep-transformations Like Rank2. except it takes a " instead of a polymorphic function^deep-transformations Like Rank2. except it takes a " instead of a polymorphic function`deep-transformations Like Rank2. except it takes a " instead of a polymorphic functionbdeep-transformationsAlphabetical synonym for a\]^_`ab`a^_\]b None./29>?L fdeep-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.ideep-transformationsWrapper for a field that should be automatically synthesized by replacing every child node by its synthesized attribute of the same name.ldeep-transformationsWrapper for a field that should be automatically synthesized by folding together all child nodes' synthesized attributes of the same name.odeep-transformations-Class for specifying a single named attributeqdeep-transformationsA half of the 62 class used to specify all synthesized attributes.sdeep-transformationsA half of the 60 class used to specify all inherited attributes.vdeep-transformations0Extract the value from the transformation domainwdeep-transformationsTransformation wrapper that allows automatic inference of attribute rules.ydeep-transformations The default t method definition relies on generics to automatically pass down all same-named inherited attributes.zdeep-transformations>Pass down the given record of inherited fields to child nodes.{deep-transformations The default p method definition for l fields.|deep-transformations The default p method definition for i fields.pdeep-transformationsattribute namedeep-transformationstransformationdeep-transformations tree nodedeep-transformationsinherited attributesdeep-transformationssynthesized attributesrdeep-transformationstransformation deep-transformationstre nodedeep-transformationsinherited attributes deep-transformationssynthesized attributestdeep-transformationstransformation deep-transformations tree nodedeep-transformationsinherited attributes deep-transformationssynthesized attributesfghijklmnopqrstuvwxyz{|wxlmnijkfghstqropuv{|zy None !"# $ %  $ % &'()*+,-./&0123456789:;<=>?@ABBCDDEFGHIJKLMNOPQRRSSTT%$UVWXYZ[ $ % &1\0 ] ] ^ _ _ ` a a b  c  d  e f g h h i j k l m n o p q r s t u v w x y z { | } ~                                ; <  =   /deep-transformations-0.1-7pcuwk2acfGBvBEBAQFvrCTransformationTransformation.DeepTransformation.FullTransformation.Deep.THTransformation.AGTransformation.Full.THTransformation.Rank2Transformation.ShallowTransformation.AG.GenericsTransformation.Shallow.TH TraversableFoldableFunctorData.Functor.ProductProduct Bequether Synthesizer GHC.GenericsGenericSynthesizedField$<$>ComposeAtDomainCodomainapply$fTransformationEither$fTransformation(,)$fTransformationArrow $fAtEitherx$fAt(,)x $fAtArrowx $fAtComposex$fTransformationComposetraversefoldMapfmapmapDownDefault mapUpDefaultfoldMapDownDefaultfoldMapUpDefaulttraverseDownDefaulttraverseUpDefaultPairfstsnd$fTraversabletProduct$fFunctortProduct$fDistributiveTYPEProduct$$fDistributiveTraversableTYPEProduct$fTraversableTYPEProduct$fFoldableTYPEProduct$fApplicativeTYPEProduct$fApplyTYPEProduct$fFunctorTYPEProduct $fShowProduct $fDataProduct deriveAll deriveFunctorderiveTraversable Attribution attributionRule Semantics Synthesizedsyn InheritedinhAttsknit applyDefaultfullMapDefault$fShowSynthesized$fShowInheritedderiveDownFunctorderiveUpFunctorderiveDownFoldablederiveUpFoldablederiveDownTraversablederiveUpTraversable TraversalFoldMap $fFunctorMapg$fAtMapx$fTransformationMap $fAtFoldx$fTransformationFold$fAtTraversalx$fTransformationTraversal$fFoldabletProduct Traversed getTraversedMapped getMappedFolded getFoldedsynthesizedField synthesisbequest RevelationrevealAutobequestDefaultpassDown foldedField mappedField$fRevelationt(,)$fRevelationtIdentity$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.1-CL4thTWXAI1CqU6vp6jrYRank2