úÎ!–°ŠØ—      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ` a b c d e f g h i j k l m n opqrstuvwxyz{|}~€‚ƒ„…† ‡ ˆ ‰ Š ‹ŒŽ‘’“”•– None,=?@A- None12456+& haskell-namesErrors during name resolution. haskell-namesname is not in scope haskell-namesname is ambiguous haskell-names+type is used where a type class is expected haskell-names+type class is used where a type is expected haskell-nameslAttempt 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 haskell-namesmodule not found haskell-namesinternal error haskell-names+Information about the names used in an AST.  haskell-names+global entitiy and the way it is referenced  haskell-names+local value, and location where it is bound  haskell-names-type variable, and location where it is bound  haskell-nameshere the value name is bound  haskell-nameshere the type name is defined haskell-namesimport: declaration, and the table of symbols that it introduces haskell-names part of an import declaration haskell-names part of an export declaration haskell-namesxwildcard in a record pattern. The list contains resolved names of the fields that are brought in scope by this pattern. haskell-names•wildcard in a record construction expression. The list contains resolved names of the fields and information about values assigned to those fields. haskell-names no annotation haskell-names scope error haskell-names\A pair of the name information and original annotation. Used as an annotation type for AST. haskell-names5A map from module name to list of symbols it exports. haskell-nameseInformation about an entity. Carries at least the module it was originally declared in and its name. haskell-namesvalue or function haskell-names class method haskell-namesrecord field selector haskell-namesdata constructor haskell-names type synonym haskell-names data type haskell-namesnewtype  haskell-names type family! haskell-names data family" haskell-names type class# haskell-namespattern synonym constructor$ haskell-namespattern synonym selector- haskell-namesPretty print a symbol.. haskell-namesDisplay an error.@Note: can span multiple lines; the trailing newline is included.0 $#! ",+*)('&%-.—None,„/0123456789:;<=>?@ABC/0123469:5;<=>?@78ABCNoneM.lD haskell-names1Local symbol table  contains locally bound namesDEFGDGFENone22J haskell-namesIGlobal symbol table  contains names declared somewhere at the top level.K haskell-namesEmpty global symbol table.L haskell-namesCFor each name take the union of the lists of symbols they refer to. JKLMNOPQRSTUV JKLMNOPQRSTUVNone8ý˜ haskell-names=Find a single constructor or method name in a list of symbols™ haskell-names@Find a list of constructor or method names in a list of symbols.š haskell-namesIf ›< ("qualified"), then only the qualified names are inserted.If œ:, then both qualified and unqualified names are insterted.˜ haskell-nameserror for "not found" condition™ haskell-nameserror for "not found" conditionžŸ š˜™None$PBrW haskell-names)Information about a field in the wildcardY haskell-namesthe field's simple nameZ haskell-namesthe field's selector symbol[ haskell-namesowhether there is a global value in scope with the same name as the field but different from the field selector\ haskell-namesAInformation 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. WX[ZY\¡¢£¤¥NoneHVGÑ] haskell-namesTCompute a table of symbols imported by the given module from the given environment.^ haskell-namesÄAnnotate 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.]^]^ None $=?@ACXK_ haskell-namesGet bound value identifiers.` haskell-namessFor record wildcards we need to know which fields the given constructor has. So we pass the global table for that._`_`None8=>?HSXkdSo haskell-names\Contains information about the node's enclosing scope. Can be accessed through the lenses: , €, , instanceQualification, ‚v. If we enter an instance with a qualified class name we have to remember the qualification to resolve method names.¦ haskell-namesmPattern synonyms can work in different modes depending on if we are on the left hand side or right hand side§ haskell-namesBind QName's too¨ haskell-names:Supress bindings, force references instead (even for Name)p haskell-names:Describes how we should treat names in the current contextu haskell-namesfReference a method in an instance declaration Unqualified names also match qualified names in scope Fhttps://www.haskell.org/pipermail/haskell-prime/2008-April/002569.htmlv haskell-namespReference an associated type in an instance declaration Unqualified names also match qualified names in scope Fhttps://www.haskell.org/pipermail/haskell-prime/2008-April/002569.htmlw haskell-names!Reference a record field selectorx haskell-names0A type signature contains an always unqualified ©9 that always refers to a value bound in the same module.z haskell-namesA type that implements z< provides a way to perform a shallow scope-aware traversal.| haskell-namesThe algebra for {L. It's newtype-wrapped because an implicit parameter cannot be polymorphic.ƒ haskell-namesCreate an initial scopeª haskell-names]Merge local tables of two scopes. The other fields of the scopes are assumed to be the same.„ haskell-names Analogous to « , but for z… haskell-names Analogous to « , but for z6o¬­®¯°±²³¦¨§pxwvutsrqyz{|}~´€µ‚¶ƒª·¸„…¹º»¼½¾¿ÀÁÂÃÄÅÆNone =>?@ASXhÄÇ haskell-names±Chain 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.ÈÉÊËÌÇÉ4Ê5Nonei9WXYZ[\opyqrstuvwxz{|}~€‚ƒ„…z{|}~„…opyqrstuvwxƒ€\WXYZ[‚ None%Xsò† haskell-namesvCompute module's global table. It contains both the imported entities and the global entities defined in this module.‡ haskell-names9Compute 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 {..} = fooÍ haskell-names…Takes a type name and a list of constructor names paired with selector names. Returns all symbols i.e. constructors and selectors.† haskell-names the import table for this module‡ haskell-names the import table for this moduleˆ haskell-names the import table for this module†‡ˆ‡†ˆ NoneHVx ‰ haskell-namesxCompute the list of symbols the given module exports using the given table of symbols that are in scope in that module.Š haskell-names{Annotate the given export list with scoping information using the given table of symbols that are in scope in that module.‰Š‰ŠNone &'>@AUVXyF ‹ ‹NoneHVXƒ Œ haskell-names½Takes a list of modules and an environment and updates the environment with each of the given modules' exported symbols. The modules can appear in any order and can be mutually recursive.Î haskell-namesyTake a set of modules and return a list of sets, where each sets for a strongly connected component in the import graph.Ï haskell-namescCompute interfaces for a set of mutually recursive modules and update the environment accordingly. haskell-names†Annotate a module with scoping information using the given environment. All imports of the given module should be in the environment.ŒSafeƒçÐÑÒÓÔÕÖ×None2=?ˆÎ haskell-names[Symbols could not be parsed. This tells you the name of the file and the parse error text. haskell-namesRead symbols from a file.‘ haskell-namesWrite symbols to a file.’ haskell-namesRLoad a basic environment that contains modules very similar to GHC's base package.Ž‘’’‘ŽNone‰44 " !#$%&'()*+,-.Œ‘’4Œ" !#$%&'()*+, ‘’.-Ø              ! " # $ % & ' ( ) ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\WZ]Y^_`abcdefgghijklm n o p q r s t u v w x y z { | }~€‚ƒ„…†‡ˆ‰Š‹‹ŒŽ‘’“ ” • – — ˜™š›œžŸ ¡¢£¤ ¥¦§¨©ª«©ª¬­®¯°±²³´µ¶·¸¹º»¼½¾¿~ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß àáâãäåæçèéêë*haskell-names-0.9.7-6nxrGfB1TYR83Ra6VCGuYkLanguage.Haskell.Names Language.Haskell.Names.Annotated"Language.Haskell.Names.Environment"Language.Haskell.Names.SyntaxUtils'Language.Haskell.Names.LocalSymbolTable(Language.Haskell.Names.GlobalSymbolTableLanguage.Haskell.Names.OpenLanguage.Haskell.Names.ImportsLanguage.Haskell.Names.GetBound$Language.Haskell.Names.ModuleSymbolsLanguage.Haskell.Names.Exports#Language.Haskell.Names.Open.DerivedLanguage.Haskell.Names.Types!Language.Haskell.Names.ScopeUtils&Language.Haskell.Names.RecordWildcards Language.Haskell.Names.Open.Base%Language.Haskell.Names.Open.Instances Language.Haskell.Names.RecursivePaths_haskell_namesError ENotInScope EAmbiguous ETypeAsClass EClassAsType ENotExported EModNotFound EInternalNameInfo GlobalSymbol LocalValueTypeVar ValueBinder TypeBinderImport ImportPartExportRecPatWildcardRecExpWildcardNone ScopeErrorScoped EnvironmentSymbolValueMethodSelector ConstructorTypeDataNewTypeTypeFamDataFamClassPatternConstructorPatternSelector symbolModule symbolName classNametypeName constructors associatepatternTypeNamepatternConstructorNameppSymbolppErrordropAnnsetAnnannNamenameQualification getModuleName getImportsgetModuleDeclsgetExportSpecList qNameToName nameToQName getDeclHeadgetDeclHeadName isTypeDeclopNameisCon nameToString stringToNamespecialConToStringunCName getErrorsgetModuleExtensionsTableaddValue lookupValueempty$fSemigroupTable $fMonoidTable mergeTables lookupTypelookupMethodOrAssociatelookupSelector lookupNameisValueisTypeisMethodOrAssociated isSelectorfromListWcField wcFieldName wcFieldSymbolwcExistsGlobalValueWcNames importTableannotateImportDeclsGetBoundgetBound$fGetBoundPatl$fGetBoundQualStmtl$fGetBoundStmtl$fGetBoundMatchl$fGetBoundClassDecll$fGetBoundFieldDecll$fGetBoundConDecll$fGetBoundGadtDecll$fGetBoundQualConDecll$fGetBoundDecll$fGetBoundBindsl$fGetBound(,)l$fGetBoundMaybel $fGetBound[]lScope NameContextBindingTBindingV ReferenceT ReferenceV ReferenceUV ReferenceUT ReferenceRS SignatureVOther Resolvable rtraverseAlgrunAlggTablelTablenameCtxwcNames initialScopermaprfoldMap moduleTable moduleSymbolsgetTopDeclSymbolsexportedSymbolsannotateExportSpecList annotateDeclresolveannotateSymbolsFileExceptionBadSymbolsFile readSymbols writeSymbolsloadBase$fFromJSONSymbol$fToJSONSymbol$fExceptionSymbolsFileException$fShowSymbolsFileExceptionsLoc resolveCName resolveCNamescomputeSymbolTableghc-prim GHC.TypesTrueFalse scopeErrornonenoScope symbolParentgetElidedFieldsnameOfPatFieldnameOfUpdField patWcNames expWcNames PatSynModePatSynLeftHandSidePatSynRightHandSide.haskell-src-exts-1.22.0-5tSwDhjCyZb5AQf9d2FsEoLanguage.Haskell.Exts.SyntaxNamemergeLocalScopes2traverse-with-class-1.0.0.0-B6jbT5TaBFJAMCv2bGtypzData.Generics.Traversablegmap _patSynMode_wcNames_instClassName_nameCtx_lTable_gTable _moduNamemoduName instClassName patSynModealgdefaultRtraverseintro setNameCtx setWcNames getWcNamesbinderVbinderTexprVexprT signatureVexprUVexprUTexprRSsetInstClassName setPatSynModechainc<|-:instanceRuleClassinstanceHeadClassconstructorsToInfos groupModules findFixPointversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName