.{W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw x y z { | } ~  Safe-Inferred  None&246IINone*+-./$Errors during name resolution.internal errormodule not foundlAttempt to explicitly import a name which is not exported (or, possibly, does not even exist). For example: import Prelude(Bool(Right))The fields are: )optional parent in the import list, e.g. Bool in  Bool(Right)the name which is not exported)the module which does not export the name+type class is used where a type is expected+type is used where a type class is expectedname is ambiguousname is not in scope+Information about the names used in an AST.  scope error  no annotation wildcard in a record construction expression. The list contains resolved names of the fields and information about values assigned to those fields. xwildcard in a record pattern. The list contains resolved names of the fields that are brought in scope by this pattern.  part of an export declaration part of an import declarationimport: declaration, and the table of symbols that it introduceshere the type name is definedhere the value name is bound-type variable, and location where it is bound+local value, and location where it is bound+global entitiy and the way it is referenced\A pair of the name information and original annotation. Used as an annotation type for AST.5A map from module name to list of symbols it exports.eInformation about an entity. Carries at least the module it was originally declared in and its name. type class data family type familynewtype data type type synonym data constructor!record field selector$ class method&value or function)Pretty print a symbol.*Display an error.@Note: can span multiple lines; the trailing newline is included.-  !"#$%&'()*,  !"#$%&'()*   $&$! '('(%'("#'("'('('('('('()*None+/IGlobal symbol table  contains names declared somewhere at the top level.0Empty global symbol table.1CFor each name take the union of the lists of symbols they refer to.+,-./0123456789:+,-./0123456789:/01+.-,23456789: +.-,/0123456789:NoneB;1Local symbol table  contains locally bound names;<=>;<=>;>=<;<=>None?@ABCDEFGHIJKLMNOPQRS?@ABCDEFGHIJKLMNOPQRS?@ABCDFIJEKLMNOPGHQRS?@ABCDEFGHIJKLMNOPQRSNone+24U[Symbols could not be parsed. This tells you the name of the file and the parse error text.VRead symbols from a file.WWrite symbols to a file.XRLoad a basic environment that contains modules very similar to GHC's base package. TUVWXTUVWXXVWTU TUVWXNoneEY)Information about a field in the wildcard[the field's simple name\the field's original name]owhether there is a global value in scope with the same name as the field but different from the field selector^AInformation about the names being introduced by a record wildcardDuring resolving traversal, we always (lazily) construct this list when we process PRec or RecConstr, even if it doesn't contain a wildcard.]Then, if the pattern or construction actually contains a wildcard, we use the computed value. YZ[\]^ YZ[\]^YZ[\]^None2468M_Get bound value identifiers.`sFor record wildcards we need to know which fields the given constructor has. So we pass the global table for that._`_`_`_`None 1234=HM a\Contains information about the node's enclosing scope. Can be accessed through the lenses: o, p, q, instanceQualification, rv. If we enter an instance with a qualified class name we have to remember the qualification to resolve method names.b:Describes how we should treat names in the current contextdwReference an associated type in an instance declaration Unqualified names also match qualified names in scope https:/www.haskell.org pipermail haskell-prime2008-April/002569.htmlemReference a method in an instance declaration Unqualified names also match qualified names in scope https:/www.haskell.org pipermail haskell-prime2008-April/002569.htmljA type that implements j< provides a way to perform a shallow scope-aware traversal.lThe algebra for kL. It's newtype-wrapped because an implicit parameter cannot be polymorphic.sCreate an initial scope]Merge local tables of two scopes. The other fields of the scopes are assumed to be the same.t Analogous to  , but for ju Analogous to  , but for j-abcdefghijklmnopqrstu     ,abcdefghijklmnopqrstu     abihgfedcjklmnopqrstu     None 2346HMChain a sequence of nodes where every node may introduce some variables into scope for the subsequent nodes. Examples: patterns (see note [Nested pattern scopes]), statements. !"#$%&'()* !"#$%&'()*NoneYZ[\]^abcdefghijklmnopqrstujklmntuabihgfedcsopq^YZ[\]rNone !"2346JKMv+,-./0 v vv+,-./0None1=Find a single constructor or method name in a list of symbols2@Find a list of constructor or method names in a list of symbols.34567If 8< ("qualified"), then only the qualified names are inserted.If 9:, then both qualified and unqualified names are insterted.1error for "not found" condition2error for "not found" condition34567123456712 None=KwTCompute a table of symbols imported by the given module from the given environment.xAnnotate the given list of import declarations with scoping information against the given environment. We need the name of the module that contains the import declarations for error annotations. w:;<x=>?@Awxwx w:;<x=>?@A None MyvCompute module's global table. It contains both the imported entities and the global entities defined in this module.z9Compute the symbols that are defined in the given module.[The import table is needed to resolve possible top-level record wildcard bindings, such as  A {..} = fooBTakes a type name and a list of constructor names paired with selector names. Returns all symbols i.e. constructors and selectors.y the import table for this modulez the import table for this module{ the import table for this moduleBCDEyz{zy{yz{BCDE None=K|xCompute the list of symbols the given module exports using the given table of symbols that are in scope in that module.}{Annotate the given export list with scoping information using the given table of symbols that are in scope in that module.|F}G|}|}|F}GNone=KM~yTakes a list of modules and an environment and updates the environment with each of the given modules' exported symbols.HyTake a set of modules and return a list of sets, where each sets for a strongly connected component in the import graph.IcCompute interfaces for a set of mutually recursive modules and update the environment accordingly.Annotate a module with scoping information using the given environment. All imports of the given module should be in the environment.~HJI~~HJINone0  !"#$%&'()*VWX~D~&$! '('(%'("#'("'('('('('('( VWX*)K !"#$%&'())*+,-./0123456789:;<=>?@ABCDEFGHIJKLAMDBNOPQRSTUVWXYZ[\]^_`abcdefghhijklmnopqrstuvwxyzz{|}~  Ao       !"#$%&'()*+,-./01234567DE89:;<=>?@ABCDBCE F G H I J K L M N O P Q R STUVWhaskell-names-0.6.0Language.Haskell.Names Language.Haskell.Names.Annotated"Language.Haskell.Names.Environment(Language.Haskell.Names.GlobalSymbolTable'Language.Haskell.Names.LocalSymbolTable"Language.Haskell.Names.SyntaxUtilsLanguage.Haskell.Names.OpenLanguage.Haskell.Names.GetBoundLanguage.Haskell.Names.Imports$Language.Haskell.Names.ModuleSymbolsLanguage.Haskell.Names.ExportsPaths_haskell_names#Language.Haskell.Names.Open.DerivedLanguage.Haskell.Names.Types&Language.Haskell.Names.RecordWildcards Language.Haskell.Names.Open.Base%Language.Haskell.Names.Open.Instances!Language.Haskell.Names.ScopeUtils Language.Haskell.Names.RecursiveError EInternal EModNotFound ENotExported EClassAsType ETypeAsClass EAmbiguous ENotInScopeNameInfo ScopeErrorNoneRecExpWildcardRecPatWildcardExport ImportPartImport TypeBinder ValueBinderTypeVar LocalValue GlobalSymbolScoped EnvironmentSymbolClassDataFamTypeFam associateNewTypeDataType ConstructorSelectortypeName constructorsMethod classNameValue symbolModule symbolNameppSymbolppErrorResultSpecial SymbolFoundTableempty mergeTables lookupValue lookupTypelookupMethodOrAssociate lookupName filterTableisValueisTypeisMethodOrAssociatedfromListaddValuedropAnnsetAnnannNamenameQualification getModuleName getImportsgetModuleDeclsgetExportSpecList qNameToName nameToQName getDeclHeadgetDeclHeadName isTypeDeclopNameisCon nameToString stringToNamespecialConToStringunCName getErrorsgetModuleExtensionsSymbolsFileExceptionBadSymbolsFile readSymbols writeSymbolsloadBaseWcField wcFieldNamewcFieldModuleNamewcExistsGlobalValueWcNamesGetBoundgetBoundScope NameContextOther ReferenceUT ReferenceUV ReferenceV ReferenceTBindingVBindingT Resolvable rtraverseAlgrunAlggTablelTablenameCtxwcNames initialScopermaprfoldMap annotateDecl importTableannotateImportDecls moduleTable moduleSymbolsgetTopDeclSymbolsexportedSymbolsannotateExportSpecListresolveannotatecatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName$fGTraversablecModuleName$fGTraversablecSpecialCon$fGTraversablecQName$fGTraversablecName$fGTraversablecBoxed$fGTraversablecIPName$fGTraversablecQOp$fGTraversablecOp$fGTraversablecCName$fGTraversablecModule$fGTraversablecModuleHead$fGTraversablecExportSpecList$fGTraversablecExportSpec$fGTraversablecImportDecl$fGTraversablecImportSpecList$fGTraversablecImportSpec$fGTraversablecAssoc$fGTraversablecDecl$fGTraversablecAnnotation$fGTraversablecDataOrNew$fGTraversablecDeclHead$fGTraversablecInstHead$fGTraversablecInstRule$fGTraversablecDeriving$fGTraversablecBinds$fGTraversablecIPBind$fGTraversablecMatch$fGTraversablecQualConDecl$fGTraversablecConDecl$fGTraversablecFieldDecl$fGTraversablecGadtDecl$fGTraversablecClassDecl$fGTraversablecInstDecl$fGTraversablecBangType$fGTraversablecRhs$fGTraversablecGuardedRhs$fGTraversablecType$fGTraversablecTyVarBind$fGTraversablecKind$fGTraversablecFunDep$fGTraversablecContext$fGTraversablecAsst$fGTraversablecLiteral$fGTraversablecExp$fGTraversablecXName$fGTraversablecXAttr$fGTraversablecBracket$fGTraversablecSplice$fGTraversablecSafety$fGTraversablecCallConv$fGTraversablecModulePragma$fGTraversablecTool$fGTraversablecActivation$fGTraversablecRule$fGTraversablecRuleVar$fGTraversablecWarningText$fGTraversablecPat$fGTraversablecPXAttr$fGTraversablecRPatOp$fGTraversablecRPat$fGTraversablecPatField$fGTraversablecStmt$fGTraversablecQualStmt$fGTraversablecFieldUpdate$fGTraversablecAlt$fGTraversablecPromoted$fGTraversablecBooleanFormula$fGTraversablecTypeEqn$fGTraversablecOverlap$fGTraversablecSign$fGTraversablecNamespace"$fGTraversablecPatternSynDirection$fGTraversablecRolesLoc$fSrcInfoScoped getModuleHead isHSymbol prettyName symbolEntity parseName baseModules$fFromJSONSymbol$fToJSONSymbol$fExceptionSymbolsFileExceptiongetElidedFieldsnameOfPatFieldnameOfUpdField patWcNames expWcNames getBoundSign$fGetBoundPatl$fGetBoundQualStmtl$fGetBoundStmtl$fGetBoundMatchl$fGetBoundClassDecll$fGetBoundFieldDecll$fGetBoundConDecll$fGetBoundGadtDecll$fGetBoundQualConDecll$fGetBoundDecll$fGetBoundBindsl$fGetBound(,)l$fGetBoundMaybel $fGetBound[]lmergeLocalScopestraverse-with-class-0.2.0.3Data.Generics.Traversablegmap_gTable_lTable_nameCtx _instQual_wcNamesConstraintProxyinstQualalgdefaultRtraverseintro setNameCtx setWcNames getWcNamesbinderVbinderTexprVexprTexprUVexprUTinstQ $fResolvableachainc<|-:instanceRuleClassinstanceHeadClass$fResolvableSrcSpanInfo$fResolvableSrcSpan$fResolvableScoped$fResolvableOp$fResolvableClassDecl$fResolvableInstDecl$fResolvableContext$fResolvableInstRule$fResolvableQualStmt$fResolvable[]$fResolvableGuardedRhs$fResolvableAlt$fResolvableExp$fResolvableBinds$fResolvableMatch$fResolvablePatField$fResolvablePat$fResolvableFieldDecl$fResolvableConDecl$fResolvableDeclHead$fResolvableType$fResolvableDecl annotateRec lookupMethodlookupAssociatedType qualifyName resolveCName resolveCNames scopeErrornonenoScope symbolParentcomputeSymbolTableghc-prim GHC.TypesTrueFalsepreludeModuleNameimportDeclTableimportSpecListSymbolsannotateImportDeclannotateImportSpecListresolveImportSpecann2syms checkUniqueconstructorsToInfos typeOuterNamequalConDeclNames dataOrNewConexportSpecSymbolsannotateExportSpec groupModules findFixPoint moduleNode