!pd7      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None,45679;=>?@ACHMSVXgblanksMBecause we defined a unique left adjoint, we have to define the unique right.blanksThis is basically the Env< comonad, but with the env strict. It's also basically the Writer` monad in certain contexts. We define a new, non-transforming datatype so we can pattern-match.   None,45679;=>?@ACHMSVXgblanksH is compared on value only, allowing you to define and use things like  in your  BlankInfo6 values to make alpha-equivalent terms structurally ( ) equivalent.  None,4567;=>?@ACHMSVXgq(blanksA "natural isomorphism" between two functors, like exists derivably between newtyped functors and their wrapped types. The functional dependency requires that g be the newtype and m the wrapped type.)blanks,Coerce from the wrapped type to the newtype.*blanks,Coerce from the newtype to the wrapped type.()*(*)None,4567;=>?@ACHMSVXg+blanks+Some monadic context that lets you throw a -W. Exists to let you rethrow to a more convenient context rather than pattern maching.-blanks=Errors that happen in the course of instantiation, thrown by  blankApply and related functions.+,-./01-./0+,1None,45679;=>?@ACHMSVXg789:;<=>?@ABCDEFGHIJKLMNOPQRSTUEFGHIMNOBCDJKL=>?@A789:;<SRQPUTNone,4567;=>?@ACHMSVXg!stuvwxyz{|}~uvwxtsyz~{|}None,4567;=>?@ACHMSVXgWblanks A pair of Z functors that index the same info and embedded functors. Used to change adjoint functors.blanksIndicates that gG is a "scope" functor we can use for name-binding. (Behind-the-scenes, g% must be a newtype wrapper over the v* datatype.) Most of the time you will use Scope or LocScope. directly, which are instances of this class./We use the pair of adjoint functors indexed by gX to shift the burden of operating in context where it is more convenient. For example, LocScope/ uses a pair of functors that are essentially Env and Reader. The left adjoint Env] lets us annotate every level of our expression tree with a location, and the right adjoint ReaderN informs us of that location so we don't have to make one up out of thin air!Scope uses the pair of functors Identity and Identity, which means there is no ability to store any additional information in the tree, but there's also no additional burden to provide that information.blanksThe expression functor used by g.blanksThe binder info used by g.blanks"The right adjoint functor used by gblanks!The left adjoint functor used by g.blanks#Creates a free variable in context.blanks(Embeds an expression functor in context.blanks;Binds free variables in an expression and returns a binder.blanks for a single argument.blanksCUn-bind free variables in an expression. Basically the inverse of /. Take care to match the arity of the binder! ( is safer.)blankswInstantiate the bound variables in an expression with other expressions. Take care to match the arity of the binder! ( is safer.)blanks for a single argument.blanksInstantiates the bound variables in an expression with other expressions. Throws errors on mismatched arity, non binder expression, unbound vars, etc. A version of ' that fails loudly instead of silently!blanks for a single argument.blanksA + version of .blanksA + version of .blanks'Substitution as a kind of monadic bind.blanks6Optional substitution as another kind of monadic bind.blanks2Lift an expression functor into the scope functor.blanks-Pattern match all cases of the scope functor.blanksIPattern match all cases of the scope functor, and eliminate the adjoints.blanksYLift a value of your left adjoint functor (annotating the tree) into your scope functor.blankslApply a natural transformation to your left adjoint functor (annotating the tree) to change scope functors.blanksApply a function to the free variables in scope in the context of the left adjoint functor. (Allows you to read annotations when fmapping.)blanksThe name of the free variableblanks An expressionblanksAnnotation specific to your expression functor. Might contain original variable names and types, or might mark this as a "let" vs a "lambda".blanks=Free variables to bind, like the names of function parametersblanks6The expression to bind in, like the body of a functionblanks)The names of the variables you're freeingblanks5The expression to substitutue in (typically a binder)blanks0Expressions to substitute in place of bound varsblanks4The expression to substitute in (typically a binder)blanks0Expressions to substitute in place of bound varsblanks&The binder expression to substitute inNone,4567;=>?@ACHMSVXg[blanksOA simple wrapper for your expression functor that knows how to name-bind. See V for usage, and see the patterns in this module for easy manipulation and inspection. None,4567;=>?@ACHMSVXg`blanksA < annotated with some information between constructors. See V for usage, and see the patterns in this module for easy manipulation and inspection.blanks2Extract the location (annotation) from this scope.blanks-Forget all the annotations and yield a plain . None,4567;=>?@ACHMSVXgb C  +,-./01 None,4567;=>?@ACHMSVXgd    !"#$%&&'(%)*+,-./0123456789:;<=>??@ABCDEFGHIIJKKLMNOOPQQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyyz{|}~        "blanks-0.4.1-Scp4rffKsbBwGbu4IFzStBlanks.Located Blanks.NameBlanks.NatNewtype Blanks.SubBlanks.UnderScope Blanks.ScopeWBlanks.Interface Blanks.ScopeBlanks.LocScopeBlanks Paths_blanks Colocated unColocatedLocated _locatedLoc _locatedVal colocated askColocated runColocated$fMonadWriterlLocated$fMonadLocated$fApplicativeLocated$fAdjunctionLocatedColocated$fDistributiveColocated $fEqLocated $fShowLocated$fFunctorLocated$fFoldableLocated$fTraversableLocated$fGenericLocated$fNFDataLocated$fFunctorColocated$fApplicativeColocated$fMonadColocated$fMonadReaderColocated$fRepresentableColocatedNameOnlyName_nameKey _nameValue$fEqName $fShowName $fFunctorName$fFoldableName$fTraversableName $fGenericName $fNFDataName NatNewtype natNewtypeTonatNewtypeFromThrowSubthrowSubSubError ApplyError UnboundErrorNonBinderError rethrowSub$fExceptionSubError $fThrowSubIO$fThrowSubEither $fEqSubError$fShowSubErrorUnderScopeFoldusfBoundusfFree usfBinderusfEmbed UnderScopeUnderBoundScopeUnderFreeScopeUnderBinderScopeUnderEmbedScope EmbedScope unEmbedScope BinderScopebinderScopeAritybinderScopeInfobinderScopeBody FreeScope unFreeScope BoundScope unBoundScopeUnderScopeEmbedUnderScopeBinderUnderScopeFreeUnderScopeBoundunderScopeShiftunderScopeFold$fBitraversableUnderScope$fBifoldableUnderScope$fBifunctorUnderScope$fEqBoundScope$fShowBoundScope$fNFDataBoundScope $fEqFreeScope$fShowFreeScope$fFunctorFreeScope$fFoldableFreeScope$fTraversableFreeScope$fNFDataFreeScope$fEqBinderScope$fShowBinderScope$fFunctorBinderScope$fFoldableBinderScope$fTraversableBinderScope$fGenericBinderScope$fNFDataBinderScope$fEqEmbedScope$fShowEmbedScope$fFunctorEmbedScope$fNFDataEmbedScope$fEqUnderScope$fShowUnderScope$fFunctorUnderScope$fGenericUnderScope$fNFDataUnderScope$fFunctorUnderScopeFold ScopeWFold ScopeWRawFoldScopeCScopeWunScopeW scopeWFree scopeWEmbed scopeWBind scopeWBindOpt scopeWLiftscopeWAbstractscopeWUnAbstractscopeWInstantiate scopeWApply scopeWRawFold scopeWFoldscopeWLiftAnnoscopeWHoistAnno scopeWMapAnno$fTraversableScopeW$fFoldableScopeW$fFunctorScopeW $fShowScopeW $fEqScopeW$fNFDataScopeW BlankPairBlank BlankFold BlankRawFold BlankFunctor BlankInfo BlankRight BlankLeft blankFree blankEmbed blankAbstractblankAbstract1blankUnAbstractblankUnAbstract1blankInstantiateblankInstantiate1 blankApply blankApply1blankApplyThrowblankApply1Throw blankBind blankBindOpt blankLift blankRawFold blankFold blankLiftAnnoblankHoistAnno blankMapAnnoScopeunScope ScopeEmbed ScopeBinder ScopeFree ScopeBound $fShowScope $fEqScope $fMonadScope$fApplicativeScope $fNFDataScope$fNatNewtypeScopeWScope $fBlankScope$fFunctorScope$fFoldableScope$fTraversableScopeLocScope unLocScope LocScopeEmbedLocScopeBinder LocScopeFree LocScopeBoundlocScopeLocationlocScopeForget$fShowLocScope $fEqLocScope$fMonadWriterlLocScope$fMonadLocScope$fApplicativeLocScope$fNFDataLocScope$fNatNewtypeScopeWLocScope$fBlankLocScope$fFunctorLocScope$fFoldableLocScope$fTraversableLocScopeghc-prim GHC.ClassesEqversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName