!`p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                      $None"#$%147MPX_k"3 #ghcideEnd result of the completions%ghcide6All module names in scope. Prelude is a single module&ghcideAll Possible completion items'ghcide:Completion items associated to to a specific module name.(ghcide!All modules that may be imported..ghcide*Original name, such as Maybe, //, or find./ghcide&From where this item is imported from.0ghcideAvailable type information.1ghcideLabel to display to the user.2ghcide?Did the completion happen in the context of an infix notation.3ghcideAvailable documentation.#$%&'()*+,-1./0234567#$%&'()*+,-1./0234567None"#$%147MPX_k-|ghcide2A debouncer can be used to avoid triggering many events (e.g. diagnostics) for the same key (e.g. the same file) within a short timeframe. This is accomplished by delaying each event for a given time. If another event is registered for the same key within that timeframe, only the new event will fire.ghcideCreate a new empty debouncer.ghcidevRegister an event that will fire after the given delay if no other event for the same key gets registered until then.If there is a pending event for the same key, the pending event will be killed. Events are run unmasked so it is up to the user of  to mask if required.None"#$%147MPX_k.7 ABCDEFGHIJ ABCDEFHGIJNone"#$%147MPX_gk/E       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  None"#$%147MPX\_`kX ghcideFind out path to  ghcversion.h file None"#$%147MPX_k_KghcideCNewtype wrapper around FilePath that always has normalized slashes.NghcideWe use an empty string as a filepath when we don t have a file. However, haskell-lsp doesn t support that in uriToFilePath and given that it is not a valid filepath it does not make sense to upstream a fix. So we have our own wrapper here that supports empty filepaths.Tghcide Parser for the GHC output format KLMNOPQRSTQRS KPLMONTNone"#$%147MPX_kn\ghcide/Human readable diagnostics for a specific file.This type packages a pretty printed, human readable error message along with the related source location so that we can display the error on either the console or in the IDE at the right source location.]ghcideODefines whether a particular diagnostic should be reported back to the user.One important use case is "missing signature" code lenses, for which we need to enable the corresponding warning during type checking. However, we do not want to show the warning unless the programmer asks for it (#261).^ghcideReport back to the user_ghcideHide from user ghcideLabel a document. ghcide.The layout options used for the SDK assistant. ghcide%Render without any syntax annotations ghcide Render a Document as an ANSII colored string. ghcide&Rendering width of the pretty printer. "!\]^_`ab]^_\ "!`abNone"#$%147MPX_gkqgghcidedPattern synonym to make it a bit more convenient to match on diagnostics in things like damlc test.ggNone"#$%147MPX_kvhghcideAn HscEnv with equality. ghcide;This is copied unmodified from GHC since it is not exposed. ghcide_This is copied unmodified from GHC since it is not exposed. Note the beautiful inline comment! ghcide;This is copied unmodified from GHC since it is not exposed. hijklmnopqrst jinlmkohpqrtsNone"#$%147MPX_k ghcidebType of some span of source code. Most of these fields are unboxed but Haddock doesn't show that. ghcide#Start line of the span, zero-based. ghcide%Start column of the span, zero-based. ghcide,End line of the span (absolute), zero-based. ghcide.End column of the span (absolute), zero-based. ghcide-A pretty-printed representation for the type. ghcide The actutal   associated with the span, if any. This can be useful for accessing a variety of information about the identifier such as module, locality, definition location, etc.         None"#$%147=?MPX_k|None"#$%147MPX_kzghcideXTransitive module dependencies in topological order. The module itself is not included.{ghcide1Transitive pkg dependencies in unspecified order. ghcideA processed node in the dependency graph. If there was any error during processing the node or any of its dependencies, this is an  . Otherwise it is a  .|ghcide4An error attached to a node in the dependency graph.}ghcideThis module is part of an import cycle. The module name corresponds to the import that enters the cycle starting from this module. The list of filepaths represents the elements in the cycle in unspecified order.~ghcide3This module has an import that couldn t be located.ghcideThis module is the parent of a module that cannot be processed (either it cannot be parsed, is part of a cycle or the parent of another error node). ghcide%Error when trying to locate a module.ghcide\This does not contain the actual parse error as that is already reported by GetParsedModule.ghcide)Nodes that cannot be processed correctly.ghcidebFor a non-error node, this contains the set of module immediate dependencies in the same package.ghcideBFor a non-error node, this contains the set of immediate pkg deps.ghcideBUnprocessed results that we find by following imports recursively.ghcideFor processing dependency information, we need lots of maps and sets of filepaths. Comparing Strings is really slow, so we work with IntMap/IntSet instead and only convert at the edges andghcideThe imports for a given module.ghcideeImports of a module in the current package and the file path of that module on disk (if we found it)ghcide8Transitive package dependencies unioned for all imports. ghcideGiven a dependency graph, buildResultGraph detects and propagates errors in that graph as follows: 1. Mark each node that is part of an import cycle as an error node. 2. Mark each node that has a parse error as an error node. 3. Mark each node whose immediate children could not be located as an error. 4. Recursively propagate errors to parents if they are not already error nodes.%xy{z|}~%|}~xy{zNone"#$%147MPX_ki ghcide;Produce a GHC-style error from a source span and a message. ghcide.Convert a GHC SrcSpan to a DAML compiler Range ghcideExtract a file name from a GHC SrcSpan (use message for unhelpful ones) FIXME This may not be an _absolute_ file name, needs fixing. ghcideFConvert a GHC severity to a DAML compiler Severity. Severities below Warning' level are dropped (returning Nothing). ghcide#Produce a bag of GHC-style errors ( ErrorMessages=) from the given (optional) locations and message strings. ghcide;Produce a GHC-style error from a source span and a message. ghcide:Produces an "unhelpful" source span with the given string. ghcideFcreates a span with zero length in the filename of the argument passed ghcideRun something in a Ghc monad and catch the errors (SourceErrors and compiler-internal exceptions like Panic or InstallationError). ghcidefile path of span            None"#$%147MPX_k ghcideElocate a module in the file system. Where we go from *daml to Haskell ghcideelocate a module in either the file system or the package database. Where we go from *daml to Haskell !ghcide"Don't call this on a found module. " # $ None"#$%147MPX_k %ghcide Take a GHC monadic action (e.g. typecheckModule pm for some parsed module 'pm@'i) and produce a "decorated" action that will harvest any warnings encountered executing the action. The phase( argument classifies the context (e.g. Parser,  Typechecker).2The ModSummary function is required because of  ghttps://github.com/ghc/ghc/blob/5f1d949ab9e09b8d95319633854b7959df06eb58/compiler/main/GHC.hs#L623-L640 which basically says that log_action is taken from the ModSummary when GHC feels like it. The given argument lets you refresh a ModSummary log_action %None"#$%147=?HMPVX_kK ghcideMContains the typechecked module and the OrigNameCache entry for that module. &ghcide1The parse tree for the file using GetFileContents 'ghcidewResolve the imports in a module to the file path of a module in the same package or the package id of another package. (ghcideThe dependency information produced by following the imports recursively. This rule will succeed even if there is an error, e.g., a module could not be located, a module could not be parsed or an import cycle. )ghcideThis rule is used to report import cycles. It depends on GetDependencyInformation. We cannot report the cycles directly from GetDependencyInformation since we can only report diagnostics for the current file. *ghcideTransitive module and pkg dependencies based on the information produced by GetDependencyInformation. This rule is also responsible for calling ReportImportCycles for each file in the transitive closure. +ghcide:The type checked version of this file, requires TypeCheck+ ,ghcide<Information about what spans occur where, requires TypeCheck -ghcide$Convert to Core, requires TypeCheck* .ghcide(Generate byte code for template haskell. /ghcideA GHC session that we reuse. 0ghcideRead the given HIE file. 1ghcide#Produce completions info for a fileNone"#$%147MPX_kܓ 2ghcideGiven a file and some contents, apply any necessary preprocessors, e.g. unlit/cpp. Return the resulting buffer and the DynFlags it implies. 3ghcideDThis reads the pragma information directly from the provided buffer. 4ghcideERun (unlit) literate haskell preprocessor on a file, or buffer if set 5ghcideRun CPP on a file 6ghcideRun a preprocessor on a file 2 None"#$%147MPSX_kghcideNote that this is logging actions _of the program_, not of the user. You shouldn't call warning/error if the user has caused an error, only if our code has gone wrong and is itself erroneous (e.g. we threw an exception).!ghcide2Events that are useful for gathering user metrics."ghcideVerbose debug logging.#ghcide9Useful information in case an error has to be understood.$ghcideWThese error messages should not occur in a expected usage, and should be investigated.%ghcide5Such log messages must never occur in expected usage. "%$#!&'()*+ "%$#!&'()*+ None"#$%147MPSX_k1ghcideGThe set of options used to locate files belonging to external packages.3ghcidelLocate the HIE file for the given module. The PackageConfig can be used to lookup settings like importDirs.4ghcideLocate the source file for the given module. The PackageConfig can be used to lookup settings like importDirs. For DAML, we place them in the package DB. For cabal this could point somewhere in ~.cabal packages.;ghcide%Warnings emitted by the preprocessor.<ghcide#Errors emitted by the preprocessor.=ghcide+New parse tree emitted by the preprocessor.@ghcidePreprocessor to run over all parsed source trees, generating a list of warnings and a list of errors, along with a new parse tree.Aghcide+Setup a GHC session for a given file, e.g. Foo.hs . The  7 will be called once, then the resulting function will be applied once per file. It is desirable that many files get the same h8, so that more IDE features work. You should not use  8$ to get that caching, because of  .https://github.com/ndmitchell/shake/issues/725.BghcideHow to locate source and .hie files given a module name.CghcideKFile extensions to search for code, defaults to Haskell sources (including .hs)DghcideENumber of threads to use. Use 0 for number of threads on the machine.EghcideVDirectory where the shake database should be stored. For ghcide this is always set to  9j for now meaning we keep everything in memory but the daml CLI compiler uses this for incremental builds.FghcideSet to  :, to create a directory of profiling reports.Gghcide2Whether to report progress during long operations.Hghcidethe ```language to useIghcide#whether to use new colon conventionJghcide,Whether to defer type errors, typed holes and out of scope variables. Deferral allows the IDE to continue to provide features such as diagnostics and go-to-definition, in situations in which they would become unavailable because of the presence of type errors, holes or unbound variables.123456789:;<=>?@ABCDEFGHIJKL>?@ABCDEFGHIJ9:;<=7856K1234L None"#$%,147EHMPVX_k::MghcideWe store the modification time as a ByteString since we need a ByteString anyway for Shake and we do not care about how times are represented. ;ghcide5This is what we use when we get Nothing from a rule. <ghcideThis is used both for  = as well as  >. ?ghcideRule type, input file @ghcideInvariant: the vK must be in normal form (fully evaluated). Otherwise we keep repeatedly  Aing values taken from the Shake database Note (MK) I am not sure why we need the ShakeValue here, maybe we can just remove it? BghcideWhen we depend on something that reported an error, and we fail as a direct result, throw BadDependency which short-circuits the rest of the actionXghcideVA Shake database plus persistent store. Can be thought of as storing mappings from  (FilePath, k) to  RuleResult k.ZghcideThe result of an IDE operation. Warnings and errors are in the Diagnostic, and a value is in the Maybe. For operations that throw an error you expect a non-empty list of diagnostics, at least one of which is an error, and a Nothing. For operations that succeed you expect perhaps some warnings and a Just. For operations that depend on other failing operations you may get empty diagnostics and a Nothing, to indicate this phase throws no fresh errors but still failed.A rule on a file should only return diagnostics for that given file. It should not propagate diagnostic errors through multiple phases. CghcideKey type DghcideThe state of the all values. EghcidewThis represents the set of diagnostics that we have published. Due to debouncing not every change might get published. FghcideMap from a text document version to a PositionMapping that describes how to map positions in a version of that document to positions in the latest version Gghcide2Convert a Value to a Maybe. This will only return  :+ for up2date results not for stale values. HghcidefReturn the most recent, potentially stale, value and a PositionMapping for the version of that value. Ighcide^We return Nothing if the rule has not run and Just Failed if it has failed to produce a value. JghcideSeq the result stored in the Shake value. This only evaluates the value to WHNF not NF. We take care of the latter elsewhere and doing it twice is expensive._ghcideOpen a X, should be shut using a. KghcideThis is a variant of withMVar where the first argument is run unmasked and if it throws an exception, the previous value is restored while the second argument is executed masked.bghcidegSpawn immediately. If you are already inside a call to shakeRun that will be aborted with an exception.eghcide[FIXME: This function is temporary! Only required because the files of interest doesn't workfghcideFClear the results for all files that do not match the given predicate.nghcide6Return up2date results. Stale results will be ignored.oghcide5Return the last computed result which might be stale. LghcideySets the diagnostics for a file and compilation step if you want to clear the diagnostics call this with an empty list Mghcide$Get the modification time of a file._ghcidediagnostic handler Nghcidecurrent results LghcideGthe time that the file these diagnostics originate from was last edited-MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy-XYZPQ_ab`hijnoklmgpqstrced[\^]fuvwxMNORSyTUVW None"#$%147=?HMPVX_k=ghcideBSet the files-of-interest which will be built and kept-up-to-date. None"#$%147HMPVX_kMAghcidehaskell-lsp manages the VFS internally and automatically so we cannot use the builtin VFS without spawning up an LSP server. To be able to test things like ) we abstract over the VFS implementation. Oghcide"get the contents of a virtual file Pghcide~set a specific file to a value. If Nothing then we are ignoring these signals anyway so can just say something was modifiedghcideMNotify the compiler service that a particular file has been modified. Use  9` to say the file is no longer in the virtual file system but should be sourced from disk, or  : to give its new value.ghcideNote that some buffer somewhere has been modified, but don't say what. Only valid if the virtual file system was initialised by LSP, as that independently tracks which files are modified. QghcideDoes the file exist. RghcidefGet the contents of a file, either dirty (if the buffer is modified) or Nothing to mean use from disk.  None"#$%147=?HMPVX_kS/ghcide Initialise the Compiler Service.ghcideShutdown the Compiler Service.ghcide is similar to 7 but it will wait for all rules (so in particular the ofInterestRule) to finish running. This is mainly useful in tests, where you want to wait for all rules to fire so you can check diagnostics. Xcewy XcewyNone"#$%147MPSX_dkTENone"#$%147MPSX_dkU; SNone"#$%147MPSX_kf Tghcide.Given a string buffer, return a pre-processed  ParsedModule. Ughcide;Given a package identifier, what packages does it depend on VghcideGTypecheck a single module using the supplied dependencies and packages. Wghcide*Compile a single type-checked module to a Q value, or provide errors. XghcideMSetup the environment that GHC needs according to our best understanding (!) YghcideLoad a module, quickly. Input doesn't need to be desugared. A module must be loaded before dependent modules can be typechecked. This variant of loadModuleHome will *never* cause recompilation, it just modifies the session. ZghcideuGhcMonad function to chase imports of a module given as a StringBuffer. Returns given module's name and its imports. [ghcide-Produce a module summary from a StringBuffer. \ghcideqGiven a buffer, flags, file path and module summary, produce a parsed module (or errors) and any parse warnings. \ghcide#the filename (for source locations)ghcide6Haskell module source text (full Unicode is supported) T U V W ] ^ _None"#$%147MPSX_ks `ghcide@Get source span info, used for e.g. AtPoint and Goto Definition. aghcide#Get ALL source spans in the module. bghcidehThe locations in the typechecked module are slightly messed up in some cases (e.g. HsMatchContext always points to the first match) whereas the parsed module has the correct locations. Therefore we build up a map from OccName to the corresponding definition in the parsed module to lookup precise locations for things like multi-clause function definitions.$For now this only contains FunBinds. cghcide:Variant of GHC's ieNames that produces LIdP instead of IdP dghcide#Get the name and type of a binding. eghcide'Get the name and type of an expression. fghcide#Get the name and type of a pattern. gghcide#Get ALL source spans in the source. hghcidePretty print the types into a  . aghcideimports ` gNone"#$%147MPX_kv ighcide$Shows this part of the documentation jghcide3All of the possible modules it could be defined in.ghcide$The name you want documentation for. k j None"#$%147MPX_kza lghcide6Locate the definition of the name at a given position. mghcide*Synopsis for the name at a given position. nghcide3Filter out spans which do not enclose a given point l mNone"#$%147MPX_k oghcideA context of a declaration in the program e.g. is the declaration a type declaration or a value declaration Used for determining which code completions to show TODO: expand this with more contexts like classes or instances for smarter code completion pghcidemodule context with module name qghcideimport context with module name rghcide$import list context with module name sghcide&import hiding context with module name tghcide4List of exported identifiers from the current module ughcideGenerates a map of where the context is a type and where the context is a value i.e. where are the value decls and the type declsghcideAReturns the cached completions for the given module and position. vghcidejUnder certain circumstance GHC generates some extra stuff that we don't want in the autocompleted symbols wghcide(Prefixes that can occur in a GHC OccName##!None"#$%147MPX_k xghcideGenerate code actions. yNone"#$%147=?HMPVX_dkghcideThis is useful for rules to convert rules that can only produce errors or a result into the more general IdeResult type that supports producing warnings while also producing a result.ghcideeuseE is useful to implement functions that aren t rules but need shortcircuiting e.g. getDefinition.ghcideZGet all transitive file dependencies of a given module. Does not include the file itself.ghcide/Try to get hover text for the name under point.ghcideGoto Definition.ghcide"Parse the contents of a daml file. zghcideaGiven a target file path, construct the raw dependency results by following imports recursively.ghcide)A rule that wires per-file rules togetherxy{zRSXXxy{zRS"None"#$%147MPX_dk {#None"#$%147MPX_k |ghcide6Respond to and log a hover or go-to-definition request } ~$None"#$%147MPX_dkg ghcideGenerate code actions. ghcideGenerate code lenses. ghcide(Execute the "typesignature.add" command. ghcideIf a range takes up a whole line (it begins at the start of the line and there's only whitespace between the end of the range and the next newline), extend the range to take up the whole line. ghcideAll the GHC extensions ghcideReturns [start .. end[ ghcide9Returns the ranges for a binding in an import declaration ghcideExtends an import list with a new binding. Assumes an import statement of the form: import (qualified) A (..) .. Places the new binding first, preserving whitespace. Copes with multi-line import lists ghcide@Returns Just (the submatches) for the first capture, or Nothing. ghcide)Returns a tuple (before, contents, after) ghcide`Returns a sorted list of ranges with extended selections includindg preceding or trailing commas None"#$%147EMPX_k ghcideA message that we need to deal with - the pieces are split up with existentials to gain additional type safety and defer precise processing until later (allows us to keep at a higher level of abstraction slightly longer) ghcide~Used for cases in which we need to send not only a response, but also an additional request to the client. For example, executeCommand may generate an applyWorkspaceEdit request. ghcideeThings that get sent to us, but we don't deal with. Set them to avoid a warning in VS Code output. %&'()*()+(),()-().()/()0()0()1()2()3()4()5(67(68(69(69(6:(6;(6<(6<(6=(6>(6?(6?(@A(@B(@C(@D(@E(@E(@F(GH(GHIJKLMNOOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,- . . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A A B C D D E E F F G H I J J K L M N O P Q R S T U V W X Y Z [ [ 0 0 \ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                  !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHHIJKLMNNOPQRSTTUVWXYZ[Z\Z]Z^Z_Z`ZaZbcdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczc{c|c}c~cccccccccccc      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwvxvyvzv{v|v}v~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv v v v v v vvvvvvvvvvvvvvvvvvvvv v!v!v"v#v$v%v&v'v(v)v*v+v,v-v.v/v0v1v2v3v4v5v6v7v8v9v:v;v<v=v>v?v@vAvBvCvDvEvFvGvHvIJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJJ J!J"J#J$J$J%J&J'J(J)J*J+J,J-J.J/J0J)J1J2J3J4J5J(J6J7J8J9J:J;J<J=J>J?J@JAJBJBJCJDJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJ4JVJWJXJYJZJ[J\J]J^J_J`J`Jabcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybybzb{b{b|b}b~bbbbbbbbb      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkklmnopqrsstuvwxyz{|}~~      !!"#$%&'()(*+,-.-/-0-1232425262728292:2;2<2=2>?@?A?B?C?D??EFvGvHvIvJvKvLvvvvv"vMvNvOvPvQvRvSvTvUvVvWvXvYvZv[v\v]v^v_v`vavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzv{v|v}v~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbbbbbbbbbbb      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G F H I J I K I L I I M N O P Q P R P S P T P U P V P W P X P Y P Z P [ P \ P ] P ^ P _ P ` P a P b P c P d P e P f P g P h P i P j P k P l P m P n P o P p P q P r P s P t P u P v P w P x P y P z P { P | P } P ~ P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P  P                                                                                                                                                       ! " # " $ " % " & " ' " ( " ) " * " + " , " - " . " / " 0 " 1 " 2 " 3 " 4 " 5 " 6 " 7 " 8 " 9 " : " ; " < " = " > " ? " " " ? " @ " A " B " C " A " D " E " F " G-(- H- I- J- K- L- M- N- O P Q P R   S T  U  V2 W222 X2 Y2 Z     [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                                                                      !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~                                                                                                                                                                                                                     ! "  #  $ %( &' ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G! H! I J" K# L# M# N$ O$ P$ Q$ R$ S$ T$ U$ V$ W$ X$ Y$ Z$ [ \ ] ^ _#ghcide-0.0.6-GENwzYdUusGKoTADOmllce!Development.IDE.Types.DiagnosticsDevelopment.IDE.Types.Location%Development.IDE.Core.CompletionsTypes$Development.IDE.Core.PositionMappingDevelopment.IDE.LSP.ProtocolDevelopment.IDE.GHC.Util,Development.IDE.Import.DependencyInformationDevelopment.IDE.Core.RuleTypesDevelopment.IDE.Types.LoggerDevelopment.IDE.Types.OptionsDevelopment.IDE.Core.ShakeDevelopment.IDE.Core.OfInterestDevelopment.IDE.Core.FileStoreDevelopment.IDE.Core.ServiceDevelopment.IDE.LSP.Server Development.IDE.Core.CompletionsDevelopment.IDE.Core.Rules"Development.IDE.LSP.LanguageServerDevelopment.IDE.Core.DebouncerDevelopment.IDE.GHC.CompatDevelopment.IDE.GHC.CPPDevelopment.IDE.Spans.TypeDevelopment.IDE.GHC.OrphansDevelopment.IDE.GHC.Error"Development.IDE.Import.FindImportsDevelopment.IDE.GHC.Warnings!Development.IDE.Core.Preprocessor!Development.IDE.LSP.NotificationsDevelopment.IDE.Core.CompileDevelopment.IDE.Spans.Calculate#Development.IDE.Spans.DocumentationDevelopment.IDE.Spans.AtPointDevelopment.IDE.LSP.CompletionsDevelopment.IDE.LSP.Outline#Development.IDE.LSP.HoverDefinitionDevelopment.IDE.LSP.CodeAction+haskell-lsp-0.19.0.0-Gh0HN2cOnfw2hjj7M30Nnp Language.Haskell.LSP.DiagnosticsDiagnosticStore1haskell-lsp-types-0.19.0.0-8dwgYDOc4RxFgAEZVXyRYD%Language.Haskell.LSP.Types.Diagnostic#$sel:_relatedInformation:Diagnostic$sel:_message:Diagnostic$sel:_source:Diagnostic$sel:_code:Diagnostic$sel:_severity:Diagnostic$sel:_range:Diagnostic DiagnosticDsHintDsInfo DsWarningDsErrorDiagnosticSeverity#Language.Haskell.LSP.Types.Location_range_uriLocation_end_startRange _character_linePositionLanguage.Haskell.LSP.Types.Uri filePathToUrifromNormalizedUritoNormalizedUrigetUriUri NormalizedUriLanguage.Haskell.LSP.Types.ListListCachedCompletionsCCallModNamesAsNS unqualCompls qualComplsimportableModules QualCompls getQualComplsCompItemCIorigName importedFrom thingTypelabelisInfixdocsBacktick SurroundedLeftSideshowGhc $fOrdCompItem $fEqCompItem$fShowCompItem$fMonoidQualCompls$fSemigroupQualCompls$fNFDataCachedCompletions$fShowBacktick$fShowQualCompls$fShowCachedCompletionsPositionMappingtoCurrentPositionfromCurrentPositiontoCurrentRangefromCurrentRange idMapping applyChange toCurrent fromCurrentNormalizedFilePathtoNormalizedFilePathfromNormalizedFilePathuriToFilePath'filePathToUri'fromUri noFilePathnoRange showPosition readSrcSpan$fIsStringNormalizedFilePath$fEqNormalizedFilePath$fOrdNormalizedFilePath$fShowNormalizedFilePath$fHashableNormalizedFilePath$fNFDataNormalizedFilePath$fBinaryNormalizedFilePathFileDiagnosticShowDiagnosticShowDiagHideDiag ideErrorTextshowDiagnosticsshowDiagnosticsColored$fNFDataShowDiagnostic$fEqShowDiagnostic$fOrdShowDiagnostic$fShowShowDiagnosticEventFileDiagnosticsHscEnvEqmodifyDynFlagslookupPackageConfigtextToStringBuffer prettyPrint runGhcEnv fakeDynFlagsmoduleImportPathhscEnv newHscEnvEq readFileUtf8cgGutsToCoreModule hDuplicateTo'$fNFDataHscEnvEq $fEqHscEnvEq$fShowHscEnvEqTransitiveDependenciestransitiveModuleDepstransitivePkgDeps NodeError PartOfCycleFailedToLocateImport ParseErrorParentOfErrorNodeModuleParseErrorDependencyInformation depErrorNodes depModuleDeps depPkgDeps depPathIdMapRawDependencyInformation rawImports rawPathIdMap PathIdMap FilePathId getFilePathId ModuleImports moduleImportspackageImportsemptyPathIdMap getPathId insertImportpathToIdidToPathreachableModulesprocessDependencyInformationtransitiveDeps$fNFDataPathIdMap$fNFDataModuleParseError$fNFDataLocateError$fNFDataNodeError$fNFDataDependencyInformation$fSemigroupNodeResult$fNFDataTransitiveDependencies$fShowFilePathId$fNFDataFilePathId$fEqFilePathId$fOrdFilePathId$fShowPathIdMap$fGenericPathIdMap$fShowModuleParseError$fGenericModuleParseError$fEqLocateError$fShowLocateError$fGenericLocateError$fShowNodeError$fGenericNodeError$fShowDependencyInformation$fGenericDependencyInformation$fShowNodeResult$fEqTransitiveDependencies$fShowTransitiveDependencies$fGenericTransitiveDependenciesProduceCompletions GetHieFile GhcSessionGenerateByteCode GenerateCore GetSpanInfo TypeCheckGetDependenciesReportImportCyclesGetDependencyInformationGetLocatedImportsGetParsedModuleTcModuleResult tmrModule tmrModInfo$fNFDataTcModuleResult$fShowTcModuleResult$fBinaryGetParsedModule$fNFDataGetParsedModule$fHashableGetParsedModule$fBinaryGetLocatedImports$fNFDataGetLocatedImports$fHashableGetLocatedImports $fBinaryGetDependencyInformation $fNFDataGetDependencyInformation"$fHashableGetDependencyInformation$fBinaryReportImportCycles$fNFDataReportImportCycles$fHashableReportImportCycles$fBinaryGetDependencies$fNFDataGetDependencies$fHashableGetDependencies$fBinaryTypeCheck$fNFDataTypeCheck$fHashableTypeCheck$fBinaryGetSpanInfo$fNFDataGetSpanInfo$fHashableGetSpanInfo$fBinaryGenerateCore$fNFDataGenerateCore$fHashableGenerateCore$fBinaryGenerateByteCode$fNFDataGenerateByteCode$fHashableGenerateByteCode$fBinaryGhcSession$fNFDataGhcSession$fHashableGhcSession$fBinaryGetHieFile$fNFDataGetHieFile$fHashableGetHieFile$fBinaryProduceCompletions$fNFDataProduceCompletions$fHashableProduceCompletions$fEqGetParsedModule$fShowGetParsedModule$fGenericGetParsedModule$fEqGetLocatedImports$fShowGetLocatedImports$fGenericGetLocatedImports$fEqGetDependencyInformation$fShowGetDependencyInformation!$fGenericGetDependencyInformation$fEqReportImportCycles$fShowReportImportCycles$fGenericReportImportCycles$fEqGetDependencies$fShowGetDependencies$fGenericGetDependencies $fEqTypeCheck$fShowTypeCheck$fGenericTypeCheck$fEqGetSpanInfo$fShowGetSpanInfo$fGenericGetSpanInfo$fEqGenerateCore$fShowGenerateCore$fGenericGenerateCore$fEqGenerateByteCode$fShowGenerateByteCode$fGenericGenerateByteCode$fEqGhcSession$fShowGhcSession$fGenericGhcSession$fEqGetHieFile$fShowGetHieFile$fGenericGetHieFile$fEqProduceCompletions$fShowProduceCompletions$fGenericProduceCompletionsLogger logPriorityPriority TelemetryDebugInfoWarningErrorlogError logWarninglogInfologDebug logTelemetry noLogging $fEqPriority$fShowPriority $fOrdPriority$fEnumPriority$fBoundedPriorityIdePkgLocationOptionsoptLocateHieFileoptLocateSrcFileIdeDeferIdeReportProgressIdePreprocessedSourcepreprocWarnings preprocErrors preprocSource IdeOptionsoptPreprocessor optGhcSessionoptPkgLocationOpts optExtensions optThreads optShakeFilesoptShakeProfilingoptReportProgressoptLanguageSyntaxoptNewColonConventionoptDeferclientSupportsProgressdefaultIdeOptions FileVersion VFSVersionModificationTimeGetModificationTime OnDiskRulegetHashrunRuleIdeStateIdeRule IdeResult IsIdeGlobal addIdeGlobalgetIdeGlobalActiongetIdeGlobalState shakeOpen shakeProfile shakeShutshakeRungetDiagnosticsgetHiddenDiagnosticsunsafeClearDiagnosticsgarbageCollectdefineuse useWithStale useNoFileuse_ useNoFile_uses_uses usesWithStaledefineEarlyCutoff defineOnDiskfingerprintToBS needOnDisk needOnDisks setPriority sendEvent ideLogger actionLoggerupdatePositionMapping $fHashableKey$fEqKey $fShowKey $fNFDataValue$fExceptionBadDependency$fShowQ $fBinaryQ $fShowQDisk $fBinaryQDisk $fNFDataQDisk$fHashableQDisk$fNFDataShakeValue $fNFDataA$fBinaryGetModificationTime$fNFDataGetModificationTime$fHashableGetModificationTime$fNFDataFileVersion$fFunctorValue$fGenericValue $fShowValue$fShowBadDependency$fEqQ $fHashableQ $fNFDataQ $fGenericQ $fEqQDisk$fGenericQDisk$fGenericShakeValue$fShowShakeValue$fShowA$fEqGetModificationTime$fShowGetModificationTime$fGenericGetModificationTime$fShowFileVersion$fGenericFileVersionofInterestRulesgetFilesOfInterestsetFilesOfInterestmodifyFilesOfInterest$fIsIdeGlobalOfInterestVar$fBinaryGetFilesOfInterest$fNFDataGetFilesOfInterest$fHashableGetFilesOfInterest$fEqGetFilesOfInterest$fShowGetFilesOfInterest$fGenericGetFilesOfInterest VFSHandle makeVFSHandlemakeLSPVFSHandlegetSourceFingerprintgetFileContents getFileExistsfileStoreRulessetBufferModifiedsetSomethingModified$fIsIdeGlobalVFSHandle$fBinaryGetFileExists$fNFDataGetFileExists$fHashableGetFileExists$fBinaryGetFileContents$fNFDataGetFileContents$fHashableGetFileContents$fBinaryFingerprintSource$fNFDataFingerprintSource$fHashableFingerprintSource$fEqGetFileExists$fShowGetFileExists$fGenericGetFileExists$fEqGetFileContents$fShowGetFileContents$fGenericGetFileContents$fEqFingerprintSource$fShowFingerprintSource$fGenericFingerprintSource initialise writeProfileshutdown runAction runActionSync getIdeOptions$fIsIdeGlobalGlobalIdeOptionsPartialHandlers WithMessage$sel:withResponse:WithMessage!$sel:withNotification:WithMessage'$sel:withResponseAndRequest:WithMessage$fMonoidPartialHandlers$fSemigroupPartialHandlers$fDefaultPartialHandlers WithSnippetscacheDataProducergetCompletions $fShowContext $fEqContext toIdeResultuseE useNoFileEusesE defineNoFilegetDependencies getAtPoint getDefinitiongetParsedModulepriorityTypeCheckpriorityGenerateCorepriorityFilesOfInterest generateCoremainRulefileFromParsedModule$fBinaryGhcSessionIO$fNFDataGhcSessionIO$fHashableGhcSessionIO$fNFDataGhcSessionFun$fShowGhcSessionFun$fEqGhcSessionIO$fShowGhcSessionIO$fGenericGhcSessionIOrunLanguageServer Debouncer newDebouncer registerEventghcGHCparser lookupNameobtainTermFromIdobtainTermFromValgetHistorySpan getGHCiMonad setGHCiMonadmoduleTrustReqsisModuleTrusted lookupModule findModuleshowRichTokenStreamaddSourceToTokensgetRichTokenStreamgetTokenStreampprParenSymName dataConTypegetNameToInstancesIndexgetGREfindGlobalAnnslookupGlobalName isDictonaryIdmodInfoModBreaks modInfoSafe modInfoIfacemodInfoLookupNamemkPrintUnqualifiedForModulemodInfoIsExportedNamemodInfoInstancesmodInfoExportsWithSelectorsmodInfoExportsmodInfoTopLevelScopemodInfoTyThings getModuleInfogetPrintUnqualgetInsts getBindingsisLoadedgetModuleGraphcompileToCoreSimplifiedcompileToCoreModule loadModule desugarModuletypecheckModule parseModule getModSummaryworkingDirectoryChanged guessTarget removeTarget addTarget getTargets setTargetsparseDynamicFlagsgetInteractiveDynFlagssetInteractiveDynFlagsgetProgramDynFlags setLogActionsetProgramDynFlagssetSessionDynFlags initGhcMonadwithCleanupSessionrunGhcTrunGhcdefaultCleanupHandlerdefaultErrorHandler ParsedMod parsedSourceTypecheckedMod renamedSourcetypecheckedSource moduleInfo ParsedModulepm_mod_summarypm_parsed_sourcepm_extra_src_filespm_annotationsTypecheckedModuletm_parsed_moduletm_renamed_sourcetm_typechecked_sourcetm_checked_module_info tm_internals_DesugaredModuledm_typechecked_moduledm_core_module ParsedSource RenamedSourceTypecheckedSource CoreModule cm_modulecm_typescm_bindscm_safe ModuleInfoGhcMakecyclicModuleErrtopSortModuleGraphloaddepanal LoadHowMuchLoadAllTargetsLoadUpToLoadDependenciesOfInteractiveEvalreconstructTypemoduleIsBootOrNotObjectLinkable showModuledynCompileExprcompileParsedExprcompileParsedExprRemotecompileExprRemote compileExpr parseExprtypeKindexprTypegetDocsisDeclisImport hasImportisStmt parseNamegetRdrNamesInScopegetNamesInScopegetInfomoduleIsInterpreted getContext setContext abandonAllabandonforwardback resumeExecparseImportDeclrunDeclsWithLocationrunDeclsexecStmt execOptionsgetHistoryModulegetResumeContextGetDocsFailureNameHasNoModule NoDocsInIfaceInteractiveName TcRnDriverrunTcInteractive TcRnExprModeTM_Inst TM_NoInst TM_Default PprTyThing pprFamInstGhcMonaddefaultWarnErrLoggerprintExceptiongetSessionDynFlags getSession setSessionGhcGhcT WarnErrLoggerHscTypes ms_mod_name mkModuleGraphemptyMGmgLookupModulemgModSummariesmapMGneedsTemplateHaskellOrQQhandleSourceErrorHscEnvTargettargetIdtargetAllowObjCodetargetContentsTargetId TargetModule TargetFileModIface mi_module mi_sig_of mi_iface_hash mi_mod_hash mi_flag_hash mi_opt_hash mi_hpc_hashmi_plugin_hash mi_orphan mi_finsts mi_hsc_srcmi_deps mi_usages mi_exports mi_exp_hash mi_used_th mi_fixitiesmi_warnsmi_annsmi_decls mi_globalsmi_insts mi_fam_instsmi_rulesmi_orphan_hash mi_warn_fn mi_fix_fn mi_hash_fnmi_hpcmi_trust mi_trust_pkgmi_complete_sigs mi_doc_hdr mi_decl_docs mi_arg_docsInteractiveImportIIDeclIIModule ModuleGraph ModSummaryms_mod ms_hsc_src ms_location ms_hs_date ms_obj_date ms_iface_date ms_srcimpsms_textual_imps ms_parsed_mod ms_hspp_file ms_hspp_opts ms_hspp_bufHsSynHsModule hsmodName hsmodExports hsmodImports hsmodDeclshsmodDeprecMessagehsmodHaddockModHeaderHsUtils lPatImplicitshsValBindsImplicitslStmtsImplicitshsDataFamInstBindersgetPatSynBindshsPatSynSelectorshsForeignDeclsBindershsLTyClDeclBindershsTyClForeignBindershsGroupBinderscollectPatsBinderscollectPatBinderscollectStmtBinderscollectLStmtBinderscollectStmtsBinderscollectLStmtsBinderscollectMethodBinderscollectHsBindListBinderscollectHsBindsBinderscollectHsBindBinderscollectHsValBinderscollectHsIdBinderscollectLocalBindersisBangedHsBindisUnliftedHsBindmkMatchmkPrefixFunRhsmk_easy_FunBindisInfixFunBind mkPatSynBind mkVarBind mkHsVarBind mkTopFunBind mkFunBind mkHsDictLet mkHsWrapPatCo mkHsWrapPat mkLHsCmdWrap mkHsCmdWrap mkLHsWrapCo mkHsWrapCoR mkHsWrapComkHsWrap mkLHsWrap typeToLHsType mkClassOpSigs mkHsSigEnvmkLHsSigWcType mkLHsSigTypechunkify mkChunkifiedmkBigLHsPatTupmkBigLHsVarPatTup mkBigLHsTupmkBigLHsVarTup missingTupArg nlTuplePat mkLHsVarTuplemkLHsTupleExpr nlHsTyConApp nlHsParTy nlHsFunTy nlHsTyVar nlHsAppTynlListnlHsCasenlHsIfnlHsParnlHsLam nlHsOpAppnlHsDo nlWildPatName nlWildPat nlWildConPatnlNullaryConPat nlConPatNamenlConPat nlInfixConPatnlConVarPatName nlConVarPat nlHsVarAppsnlHsAppsnlHsSyntaxAppsnlHsAppnlLitPatnlVarPat nlHsIntLitnlHsLit nlHsDataConnlHsVaruserHsTyVarBndrsuserHsLTyVarBndrsmkHsStringPrimLit mkHsStringunqualQuasiQuotemkHsQuasiQuote mkHsSpliceTy mkHsSpliceTE mkHsSpliceEmkUntypedSplice mkHsOpApp mkRecStmtemptyRecStmtIdemptyRecStmtName emptyRecStmt unitRecStmtTc mkTcBindStmt mkBindStmt mkBodyStmt mkLastStmtmkGroupByUsingStmtmkGroupUsingStmtmkTransformByStmtmkTransformStmtemptyTransStmt mkNPlusKPatmkNPatmkHsIfmkHsCompmkHsDo mkHsIsStringmkHsFractional mkHsIntegralnlParPatmkParPatmkLHsPar nlHsTyApps nlHsTyApp mkHsCaseAltmkHsLamsmkHsLam mkHsAppTypes mkHsAppTypemkHsApp mkMatchGroup unguardedRHSunguardedGRHSs mkSimpleMatchmkHsParHsExpr pprStmtInCtxtpprMatchInCtxtmatchContextErrStringpprStmtContextpprAStmtContextpprMatchContextNounpprMatchContextmatchSeparatorisMonadFailStmtContextisListCompExpr isPatSynCtxt pp_dotdot thTyBrackets thBrackets pprHsBracketisTypedBracket ppr_splice ppr_quasippr_splice_declpprPendingSplice isTypedSplicepprQualspprComp ppr_do_stmtspprDopprBy pprTransStmtpprTransformStmtpprStmtpp_rhspprGRHSpprGRHSspprMatch pprMatches hsLMatchPatsmatchGroupArityisSingletonMatchGroupisEmptyMatchGroup isInfixMatch pprCmdArgppr_cmdppr_lcmd isQuietHsCmdpprCmdpprLCmdisAtomicHsExprparenthesizeHsExprhsExprNeedsParens pprParendExprpprParendLExprpprDebugParendExprpprExternalSrcLocppr_appsppr_expr ppr_lexprpprBinds isQuietHsExpr tupArgPresent unboundVarOccmkRnSyntaxExpr noSyntaxExprnoExpr PostTcExpr PostTcTableCmdSyntaxTable UnboundVar OutOfScope TrueExprHole RecordConTc rcon_con_like rcon_con_expr RecordUpdTc rupd_cons rupd_in_tys rupd_out_tys rupd_wrap LHsTupArgHsTupArgPresentMissingXTupArgLHsCmd HsArrAppTypeHsHigherOrderAppHsFirstOrderApp LHsCmdTopHsCmdTopXCmdTopCmdTopTc HsRecordBinds MatchGroupTc mg_arg_tys mg_res_tyLMatchMatchXMatchm_extm_ctxtm_patsm_grhssLGRHSGRHSXGRHSLStmtLStmtLRStmtCmdLStmtCmdStmt ExprLStmtExprStmt GuardLStmt GuardStmt GhciLStmtGhciStmtStmtLRLastStmtBindStmtApplicativeStmtBodyStmtLetStmtParStmt TransStmtRecStmtXStmtLRtrS_exttrS_form trS_stmts trS_bndrs trS_usingtrS_bytrS_rettrS_bindtrS_fmaprecS_ext recS_stmtsrecS_later_ids recS_rec_ids recS_bind_fn recS_ret_fn recS_mfix_fn RecStmtTc recS_bind_tyrecS_later_rets recS_rec_rets recS_ret_ty TransFormThenForm GroupForm ParStmtBlock XParStmtBlockApplicativeArgApplicativeArgOneApplicativeArgManyXApplicativeArgSpliceDecoration HasParens HasDollarNoParensThModFinalizersHsSplicedThing HsSplicedExpr HsSplicedTy HsSplicedPatSplicePointNamePendingRnSpliceUntypedSpliceFlavourUntypedExpSpliceUntypedPatSpliceUntypedTypeSpliceUntypedDeclSplicePendingTcSplice HsBracketXBracketExpBrPatBrDecBrLDecBrGTypBrVarBrTExpBr ArithSeqInfoFromFromThenFromTo FromThenToHsMatchContextPatSynFunRhs LambdaExprCaseAltIfAltProcExpr PatBindRhs PatBindGuardsRecUpdStmtCtxt ThPatSplice ThPatQuotemc_fun mc_fixity mc_strictness HsStmtContextListComp MonadCompDoExprMDoExpr ArrowExpr GhciStmtCtxtPatGuard ParStmtCtxt TransStmtCtxtHsDeclsroleAnnotDeclNameannProvenanceName_maybe docDeclDocpprFullRuleNamecollectRuleBndrSigTysflattenRuleDeclsderivStrategyNameinstDeclDataFamInsts pprFamInstLHSpprDataFamInstFlavourhsConDeclThetahsConDeclArgTys getConArgs getConNamesnewOrDataToFlavourresultVariableNamefamDeclHasCusk mkTyClGrouptyClGroupRoleDeclstyClGroupInstDeclstyClGroupTyClDeclsemptyTyClGrouppprTyClDeclFlavour hsDeclHasCuskcountTyClDeclstyClDeclTyVarstcdName tyClDeclLNametyFamInstDeclLNametyFamInstDeclNameisDataFamilyDeclisClosedTypeFamilyInfoisOpenTypeFamilyInfoisTypeFamilyDecl isFamilyDecl isClassDecl isSynDecl isDataDecl appendGroupshsGroupInstDecls emptyRnGroup emptyRdrGroupLHsDeclHsDeclSigDDefDWarningDAnnDRuleDSpliceDDocD RoleAnnotDXHsDeclHsGroupXHsGrouphs_exths_valds hs_splcds hs_tyclds hs_derivdshs_fixdshs_defdshs_fords hs_warndshs_annds hs_ruledshs_docs LSpliceDecl SpliceDecl XSpliceDecl LTyClDeclTyClDeclFamDeclSynDeclDataDecl ClassDecl XTyClDecltcdFExttcdFamtcdSExttcdLName tcdTyVars tcdFixitytcdRhstcdDExt tcdDataDefntcdCExttcdCtxttcdFDstcdSigstcdMethstcdATs tcdATDefstcdDocs DataDeclRn tcdDataCusktcdFVs TyClGroup XTyClGroup group_ext group_tyclds group_roles group_instdsLFamilyResultSigFamilyResultSigNoSigKindSigTyVarSigXFamilyResultSig LFamilyDecl FamilyDecl XFamilyDeclfdExtfdInfofdLNamefdTyVarsfdFixity fdResultSigfdInjectivityAnnLInjectivityAnnInjectivityAnn FamilyInfo DataFamilyOpenTypeFamilyClosedTypeFamily HsDataDefn XHsDataDefndd_extdd_NDdd_ctxtdd_cType dd_kindSigdd_cons dd_derivs HsDerivingLHsDerivingClauseHsDerivingClauseXHsDerivingClausederiv_clause_extderiv_clause_strategyderiv_clause_tys NewOrDataDataTypeNewTypeLConDeclConDecl ConDeclGADT ConDeclH98XConDecl con_g_ext con_names con_forall con_qvars con_mb_cxtcon_args con_res_tycon_doccon_extcon_name con_ex_tvsHsConDeclDetails LTyFamInstEqnLTyFamDefltEqnHsTyPats TyFamInstEqn TyFamDefltEqnLTyFamInstDecl TyFamInstDecltfid_eqnLDataFamInstDeclDataFamInstDecldfid_eqn LFamInstEqn FamInstEqnFamEqnXFamEqnfeqn_ext feqn_tycon feqn_pats feqn_fixityfeqn_rhs LClsInstDecl ClsInstDecl XClsInstDeclcid_ext cid_poly_ty cid_bindscid_sigscid_tyfam_instscid_datafam_instscid_overlap_mode LInstDeclInstDeclClsInstD DataFamInstD TyFamInstD XInstDecl cid_d_extcid_instdfid_ext dfid_insttfid_ext tfid_inst LDerivDecl DerivDecl XDerivDecl deriv_ext deriv_typederiv_strategyderiv_overlap_modeLDerivStrategy DerivStrategy StockStrategyAnyclassStrategyNewtypeStrategy ViaStrategy LDefaultDecl DefaultDecl XDefaultDecl LForeignDecl ForeignDecl ForeignExport ForeignImport XForeignDeclfd_i_extfd_name fd_sig_tyfd_fifd_e_extfd_feCImport CImportSpecCLabel CFunctionCWrapperCExport LRuleDecls RuleDeclsHsRules XRuleDeclsrds_extrds_src rds_rules LRuleDeclRuleDeclHsRule XRuleDeclHsRuleRn LRuleBndrRuleBndr RuleBndrSig XRuleBndrLDocDeclDocDeclDocCommentNextDocCommentPrevDocCommentNamedDocGroup LWarnDecls WarnDeclsWarnings XWarnDeclswd_extwd_src wd_warnings LWarnDeclWarnDecl XWarnDeclLAnnDeclAnnDecl HsAnnotationXAnnDecl AnnProvenanceValueAnnProvenanceTypeAnnProvenanceModuleAnnProvenanceLRoleAnnotDecl RoleAnnotDeclXRoleAnnotDeclHsPatcollectEvVarsPatcollectEvVarsPatsparenthesizePatpatNeedsParensisIrrefutableHsPatlooksLazyPatBind isBangedLPat mkCharLitPatmkNilPatmkPrefixConPat pprConArgs pprParendLPathsRecUpdFieldOcchsRecUpdFieldIdhsRecUpdFieldRdr hsRecFieldId hsRecFieldSelhsRecFieldsArgs hsRecFields hsConPatArgsInPatOutPat ListPatTcHsConPatDetails HsRecFieldsrec_flds rec_dotdot LHsRecField' LHsRecFieldLHsRecUpdField HsRecField HsRecUpdField HsRecField' hsRecFieldLbl hsRecFieldArghsRecPunHsBinds pprMinimalSigpprTcSpecPragspprSpec pprVarSigpragSrcBrackets pragBracketsppr_sighsSigDocisCompleteMatchSig isSCCFunSig isMinimalLSig isInlineLSig isPragLSigisSpecInstLSig isSpecLSig isTypeLSig isFixityLSigisDefaultMethod hasSpecPrags noSpecPragsisEmptyIPBindsTcisEmptyIPBindsPRpprTicks ppr_monobindplusHsValBindsisEmptyLHsBinds emptyLHsBindsemptyValBindsOutemptyValBindsInisEmptyValBindseqEmptyLocalBindsisEmptyLocalBindsPRisEmptyLocalBindsTcemptyLocalBinds pprDeclListpprLHsBindsForUser pprLHsBinds HsLocalBinds LHsLocalBindsHsLocalBindsLR HsIPBinds HsValBindsEmptyLocalBindsXHsLocalBindsLRLHsLocalBindsLR HsValBindsLRValBinds XValBindsLR NHsValBindsLR NValBindsLHsBindLHsBindsHsBind LHsBindsLR LHsBindLRHsBindLR PatSynBindFunBindPatBindVarBindAbsBinds XHsBindsLRfun_extfun_id fun_matches fun_co_fnfun_tickpat_extpat_lhspat_rhs pat_ticksvar_extvar_idvar_rhs var_inlineabs_extabs_tvs abs_ev_vars abs_exports abs_ev_binds abs_bindsabs_sig NPatBindTcpat_fvs pat_rhs_tyABExportABE XABExportabe_extabe_polyabe_monoabe_wrap abe_prags XPatSynBindPSBpsb_extpsb_idpsb_argspsb_defpsb_dir XHsIPBindsIPBindsLIPBindIPBindXIPBindLSigSigTypeSig PatSynSigIdSigFixSig InlineSigSpecSig SpecInstSig MinimalSig SCCFunSigCompleteMatchSigXSig LFixitySig FixitySig XFixitySig TcSpecPragsIsDefaultMethod SpecPrags LTcSpecPrag TcSpecPragSpecPragHsPatSynDetailsRecordPatSynFieldrecordPatSynSelectorIdrecordPatSynPatVar HsPatSynDirUnidirectionalImplicitBidirectionalExplicitBidirectionalInstEnvpprInstanceHdr pprInstanceinstanceDFunIdClsInst FamInstEnvFamInst ByteCodeTypes BreakIndex ModBreaksmodBreaks_flagsmodBreaks_locsmodBreaks_varsmodBreaks_decls modBreaks_ccsmodBreaks_breakInfoHsTypesparenthesizeHsTypehsTypeNeedsParens pprHsTypepprConDeclFieldspprHsContextMaybepprHsContextNoArrow pprHsContextpprHsForAllTvspprHsForAllExtra pprHsForAllpprAnonWildCardambiguousFieldOccunambiguousFieldOccselectorAmbiguousFieldOccrdrNameAmbiguousFieldOccmkAmbiguousFieldOcc mkFieldOccgetLHsInstDeclClass_maybegetLHsInstDeclHeadsplitLHsInstDeclTysplitLHsQualTysplitLHsForAllTysplitLHsSigmaTysplitLHsPatSynTy splitHsAppTyshsTyGetAppHead_maybesplitHsFunType mkHsAppTys mkHsAppTymkHsOpTymkAnonWildCardTy isLHsForAllTy ignoreParens sameWildCard wildCardNamehsLTyVarBndrsToTypeshsLTyVarBndrToTypehsLTyVarLocNameshsLTyVarLocNamehsAllLTyVarNameshsExplicitLTyVarNames hsLTyVarName hsTyVarName hsScopedTvs hsWcScopedTvshsTvbAllKindedisHsKindedTyVar hsIPNameFSmkEmptyWildCardBndrsmkEmptyImplicitBndrsmkHsWildCardBndrsmkHsImplicitBndrs dropWildCards hsSigWcType hsSigTypehsImplicitBodyisEmptyLHsQTvs emptyLHsQTvs hsQTvExplicitmkHsQTvsgetBangStrictness getBangType LBangTypeBangType LHsContext HsContextLHsTypeHsKindLHsKind LHsTyVarBndr LHsQTyVarsHsQTvs XLHsQTyVarshsq_ext hsq_explicitHsQTvsRn hsq_implicit hsq_dependentHsImplicitBndrsHsIBXHsImplicitBndrshsib_ext hsib_bodyHsIBRn hsib_vars hsib_closedHsWildCardBndrsHsWCXHsWildCardBndrshswc_ext hswc_body LHsSigType LHsWcType LHsSigWcTypeHsIPName HsTyVarBndr UserTyVar KindedTyVar XTyVarBndrHsTypeHsTyLit HsForAllTyHsQualTyHsTyVarHsAppTyHsFunTyHsListTy HsTupleTyHsSumTyHsOpTyHsParTy HsIParamTyHsStarTy HsKindSig HsSpliceTyHsDocTyHsBangTyHsRecTyHsExplicitListTyHsExplicitTupleTy HsWildCardTyXHsType hst_xforall hst_bndrshst_body hst_xqualhst_ctxt NewHsTypeX NHsCoreTyHsNumTyHsStrTyHsWildCardInfo AnonWildCard HsTupleSortHsUnboxedTuple HsBoxedTupleHsConstraintTupleHsBoxedOrConstraintTuplePromoted NotPromoted LConDeclField ConDeclField XConDeclField cd_fld_ext cd_fld_names cd_fld_type cd_fld_doc HsConDetails PrefixConRecConInfixCon LFieldOccFieldOcc XFieldOcc extFieldOccrdrNameFieldOccAmbiguousFieldOcc Unambiguous AmbiguousXAmbiguousFieldOccInteractiveEvalTypes ExecOptionsexecSingleStepexecSourceFileexecLineNumberexecWrap SingleStepRunToCompletionRunAndLogSteps ExecResult ExecComplete ExecBreak execResultexecAllocation breakNames breakInfo BreakInfobreakInfo_modulebreakInfo_numberResume resumeStmt resumeContextresumeBindingsresumeFinalIds resumeApStackresumeBreakInfo resumeSpan resumeDecl resumeCCS resumeHistoryresumeHistoryIxHistoryhistoryBreakInfohistoryEnclosingDeclsId isBottomingId isDeadBinder isImplicitId idDataConisDataConWorkId isFCallId isPrimOpIdisClassOpId_maybeisRecordSelectorrecordSelectorTyConidTypeDataConisVanillaDataCondataConUserType dataConSigdataConSrcBangsdataConIsInfixisMarkedStrict HsSrcBang HsImplBangHsLazyHsStrictHsUnpack SrcStrictnessSrcLazy SrcStrict NoSrcStrictSrcUnpackedness SrcUnpack SrcNoUnpack NoSrcUnpackStrictnessMark MarkedStrictNotMarkedStrictHsLithsOverLitNeedsParenshsLitNeedsParens pmPprHsLit pp_st_suffix convertLit overLitTypenegateOverLitValHsChar HsCharPrimHsString HsStringPrimHsInt HsIntPrim HsWordPrim HsInt64Prim HsWord64Prim HsIntegerHsRat HsFloatPrim HsDoublePrimXLit HsOverLitXOverLitOverLitol_extol_val ol_witness OverLitTc ol_rebindableol_type OverLitVal HsIntegral HsFractional HsIsStringTypesplitForAllTys funResultTyTysPrim alphaTyVarsTyCoRep pprTypeApp pprForAllpprThetaArrowTy pprParendTypeTyContyConClass_maybe isClassTyConsynTyConRhs_maybesynTyConDefn_maybe tyConDataConsisOpenTypeFamilyTyConisTypeFamilyTyConisOpenFamilyTyCon isFamilyTyConisTypeSynonymTyCon isNewTyCon isPrimTyConClass pprFundeps classTvsFds classSCThetaclassATs classMethods dataConTyCondataConFieldLabelspprLExprpprExpr pprSplice pprSpliceDecl pprPatBind pprFunBindHsVar HsUnboundVar HsConLikeOutHsRecFld HsOverLabelHsIPVarHsLam HsLamCaseHsApp HsAppTypeOpAppNegAppHsParSectionLSectionR ExplicitTuple ExplicitSumHsCaseHsIf HsMultiIfHsLetHsDo ExplicitList RecordCon RecordUpd ExprWithTySigArithSeqHsSCC HsCoreAnnHsRnBracketOutHsTcBracketOut HsSpliceEHsProcHsStaticHsArrApp HsArrFormHsTick HsBinTick HsTickPragmaEWildPatEAsPatEViewPatELazyPatHsWrapXExprrcon_ext rcon_con_name rcon_fldsrupd_ext rupd_expr rupd_fldsHsCmd HsCmdArrApp HsCmdArrFormHsCmdAppHsCmdLamHsCmdPar HsCmdCaseHsCmdIfHsCmdLetHsCmdDo HsCmdWrapXCmdHsSplice HsTypedSpliceHsUntypedSplice HsQuasiQuote HsSplicedXSplice MatchGroupMG XMatchGroupmg_extmg_alts mg_originGRHSsXGRHSsgrhssExt grhssGRHSsgrhssLocalBinds SyntaxExprsyn_expr syn_arg_wraps syn_res_wrapLHsExprHsImpExp pprImpExpreplaceLWrappedNamereplaceWrappedNameieLWrappedName ieWrappedNameieNamesieNamesimpleImportDecl LImportDecl ImportDecl XImportDeclideclExtideclSourceSrc ideclName ideclPkgQual ideclSource ideclSafeideclQualified ideclImplicitideclAs ideclHiding IEWrappedNameIEName IEPatternIETypeLIEWrappedNameLIEIEIEVar IEThingAbs IEThingAllIEModuleContentsIEGroupIEDoc IEDocNamedXIE IEWildcard NoIEWildcardPatWildPatVarPatLazyPatAsPatParPatBangPatListPatTuplePatSumPatConPatIn ConPatOutViewPat SplicePatLitPatNPat NPlusKPatSigPatCoPatXPatpat_con pat_arg_tyspat_tvs pat_dicts pat_bindspat_argspat_wrapLPat HsExtensionnoExtNoExtGhcPassPassParsedRenamed TypecheckedGhcPsGhcRnGhcTcGhcTcIdIdPLIdP XHsValBindsXEmptyLocalBindsXXHsLocalBindsLRForallXHsLocalBindsLR XValBinds XXValBindsLRForallXValBindsLRXFunBindXPatBindXVarBind XAbsBinds XXHsBindsLRForallXHsBindsLRXABE XXABExportForallXABExportXPSB XXPatSynBindForallXPatSynBindXIPBinds XXHsIPBindsForallXHsIPBindsXCIPBindXXIPBind ForallXIPBindXTypeSig XPatSynSig XClassOpSigXIdSigXFixSig XInlineSigXSpecSig XSpecInstSig XMinimalSig XSCCFunSigXCompleteMatchSigXXSig ForallXSig XXFixitySigForallXFixitySigXTyClDXInstDXDerivDXValDXSigDXDefDXForD XWarningDXAnnDXRuleDXSpliceDXDocD XRoleAnnotDXXHsDecl ForallXHsDecl XCHsGroup XXHsGroupForallXHsGroup XXSpliceDeclForallXSpliceDeclXFamDeclXSynDecl XDataDecl XClassDecl XXTyClDeclForallXTyClDecl XCTyClGroup XXTyClGroupForallXTyClGroupXNoSig XCKindSig XTyVarSigXXFamilyResultSigForallXFamilyResultSig XCFamilyDecl XXFamilyDeclForallXFamilyDecl XCHsDataDefn XXHsDataDefnForallXHsDataDefnXCHsDerivingClauseXXHsDerivingClauseForallXHsDerivingClause XConDeclGADT XConDeclH98 XXConDeclForallXConDeclXCFamEqnXXFamEqn ForallXFamEqn XCClsInstDecl XXClsInstDeclForallXClsInstDecl XClsInstD XDataFamInstD XTyFamInstD XXInstDeclForallXInstDecl XCDerivDecl XXDerivDeclForallXDerivDecl XViaStrategy XCDefaultDecl XXDefaultDeclForallXDefaultDeclXForeignImportXForeignExport XXForeignDeclForallXForeignDecl XCRuleDecls XXRuleDeclsForallXRuleDeclsXHsRule XXRuleDeclForallXRuleDecl XCRuleBndr XRuleBndrSig XXRuleBndrForallXRuleBndr XWarnings XXWarnDeclsForallXWarnDeclsXWarning XXWarnDeclForallXWarnDecl XHsAnnotation XXAnnDeclForallXAnnDeclXCRoleAnnotDeclXXRoleAnnotDeclForallXRoleAnnotDeclXVar XUnboundVar XConLikeOutXRecFld XOverLabelXIPVar XOverLitEXLitEXLamXLamCaseXApp XAppTypeEXOpAppXNegAppXPar XSectionL XSectionRXExplicitTuple XExplicitSumXCaseXIfXMultiIfXLetXDo XExplicitList XRecordCon XRecordUpdXExprWithTySig XArithSeqXSCCXCoreAnn XRnBracketOut XTcBracketOutXSpliceEXProcXStaticXArrAppXArrFormXTickXBinTick XTickPragma XEWildPatXEAsPat XEViewPat XELazyPatXWrapXXExpr ForallXExpr XUnambiguous XAmbiguousXXAmbiguousFieldOccForallXAmbiguousFieldOccXPresentXMissingXXTupArg ForallXTupArg XTypedSpliceXUntypedSplice XQuasiQuoteXSplicedXXSplice ForallXSpliceXExpBrXPatBrXDecBrLXDecBrGXTypBrXVarBrXTExpBr XXBracketForallXBracketXXCmdTop ForallXCmdTopXMG XXMatchGroupForallXMatchGroupXCMatchXXMatch ForallXMatchXCGRHSsXXGRHSs ForallXGRHSsXCGRHSXXGRHS ForallXGRHS XLastStmt XBindStmtXApplicativeStmt XBodyStmtXLetStmtXParStmt XTransStmtXRecStmtXXStmtLR ForallXStmtLR XCmdArrApp XCmdArrFormXCmdAppXCmdLamXCmdParXCmdCaseXCmdIfXCmdLetXCmdDoXCmdWrapXXCmd ForallXCmdXXParStmtBlockForallXParStmtBlockXApplicativeArgOneXApplicativeArgManyXXApplicativeArgForallXApplicativeArgXHsChar XHsCharPrim XHsString XHsStringPrimXHsInt XHsIntPrim XHsWordPrim XHsInt64Prim XHsWord64Prim XHsIntegerXHsRat XHsFloatPrim XHsDoublePrimXXLit ForallXHsLit XXOverLitForallXOverLitXWildPatXVarPatXLazyPatXAsPatXParPatXBangPatXListPat XTuplePatXSumPatXConPatXViewPat XSplicePatXLitPatXNPat XNPlusKPatXSigPatXCoPatXXPat ForallXPatXHsQTvs XXLHsQTyVarsForallXLHsQTyVarsXHsIBXXHsImplicitBndrsForallXHsImplicitBndrsXHsWCXXHsWildCardBndrsForallXHsWildCardBndrs XForAllTyXQualTyXTyVarXAppTyXFunTyXListTyXTupleTyXSumTyXOpTyXParTy XIParamTyXStarTyXKindSig XSpliceTyXDocTyXBangTyXRecTyXExplicitListTyXExplicitTupleTyXTyLit XWildCardTyXXType ForallXType XUserTyVar XKindedTyVar XXTyVarBndrForallXTyVarBndrXXConDeclFieldForallXConDeclField XCFieldOcc XXFieldOccForallXFieldOcc XCImportDecl XXImportDeclForallXImportDeclXIEVar XIEThingAbs XIEThingAll XIEThingWithXIEModuleContentsXIEGroupXIEDoc XIEDocNamedXXIE ForallXIE Convertableconvert ConvertIdX OutputableXOutputableBndrId PlaceHolderplaceHolderNamesTc NameOrRdrNameVar isExportedId isGlobalId isLocalIdTyVarLexerToken ApiAnnotation unicodeAnngetAndRemoveAnnotationCommentsgetAnnotationCommentsgetAndRemoveAnnotation getAnnotationApiAnns AnnKeywordIdAnnOpenAnnClose AnnHeaderAnnValAnnType AnnBackquoteAnnTilde AnnPattern AnnDotdotAnnComma AnnModule AnnImportAnnSafe AnnQualifiedAnnPackageNameAnnAs AnnHidingAnnSemi AnnDcolon AnnForallAnnDot AnnDarrow AnnRarrowAnnBangAnnUnit AnnDefaultAnnInfix AnnInstanceAnnVbarAnnEqual AnnLarrowAnnWhereAnnFunIdAnnAtAnnRole AnnForeign AnnExport AnnDerivingAnnStock AnnNewtypeAnnData AnnFamilyAnnOpenP AnnClosePAnnClassAnnThenAnnByAnnGroupAnnUsingAnnLetAnnRec Annlarrowtail Annrarrowtail AnnLarrowtail AnnRarrowtailAnnOpenB AnnCloseBAnnLamAnnCaseAnnOfAnnIfAnnElseAnnInAnnDoAnnMinusAnnOpenE AnnOpenEQ AnnCloseQAnnProc AnnStaticAnnColon AnnAnyclass AnnCloseBU AnnCloseC AnnCloseQU AnnCloseS AnnCommaTuple AnnDarrowU AnnDcolonU AnnForallU AnnLarrowUAnnMdoAnnName AnnOpenBUAnnOpenC AnnOpenEQU AnnOpenPE AnnOpenPTEAnnOpenS AnnRarrowUAnnSimpleQuote AnnSignature AnnThIdSpliceAnnThIdTySplice AnnThTyQuote AnnValStrAnnViaAnnlarrowtailUAnnrarrowtailUAnnLarrowtailUAnnRarrowtailU AnnEofPosAnnotationCommentAnnDocCommentNextAnnDocCommentPrevAnnDocCommentNamed AnnDocSection AnnDocOptionsAnnLineCommentAnnBlockCommentRdrNameUnqualQualErrUtilsprettyPrintGhcErrorsHsDocemptyArgDocMapemptyDeclDocMap concatDocs appendDocs ppr_mbDochsDocStringToByteString unpackHDSmkHsDocStringUtf8ByteString mkHsDocString HsDocString LHsDocString DeclDocMap ArgDocMapName nameModuleisExternalName nameSrcSpan NamedThing getOccNamegetNameDynFlagsgoptdefaultObjectTargetincludePathsQuoteincludePathsGlobalSafeHaskellModeSf_None Sf_UnsafeSf_TrustworthySf_Safe HscTargetHscCHscAsmHscLlvmHscInterpreted HscNothingGhcModeOneShot CompManagerMkDependGhcLinkNoLink LinkBinary LinkInMemory LinkDynLib LinkStaticLib DriverPhasesPhaseModule pprModulemkModule mkModuleNamemoduleNameString ModLocation ml_hs_file ml_hi_file ml_obj_file BasicTypesfailed succeeded compareFixity negateFixity defaultFixity maxPrecedenceFixityFixityDirectionInfixLInfixRInfixN LexicalFixityPrefixInfix SuccessFlag SucceededFailedSpliceExplicitFlagExplicitSpliceImplicitSpliceSeverity SevOutputSevFatalSevInteractiveSevDumpSevInfo SevWarningSevErrorSrcLoc isSubspanOfspansleftmost_largestleftmost_smallest rightmost cmpLocated eqLocatedaddCLoc combineLocsmkGeneralLocatednoLocgetLocunLoc srcSpanEnd srcSpanStart srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine isGoodSrcSpan mkSrcSpan srcLocSpan noSrcSpan srcLocCol srcLocLine srcLocFilenoSrcLocmkSrcLoc RealSrcLoc UnhelpfulLoc RealSrcSpan srcSpanFileSrcSpan UnhelpfulSpan GenLocatedLLocatedTyThingAnIdAConLikeATyConACoAxiomPredTypeKind ThetaType Outputable alwaysQualifyPrintUnqualified moduleName moduleUnitId ModuleNameUnitId isFunTyCon tyConKind tyConArity tyConTyVars useUnicodepprCols pprUserLengthghcModeghcLink hscTargetsettings llvmTargets llvmPasses verbosityoptLevel debugLevel simplPhasesmaxSimplIterationsmaxPmCheckIterations ruleCheck inlineCheckstrictnessBefore parMakeCountenableTimeStats ghcHeapSizemaxRelevantBindsmaxValidHoleFitsmaxRefHoleFitsrefLevelHoleFitsmaxUncoveredPatternssimplTickFactorspecConstrThresholdspecConstrCountspecConstrRecursiveliberateCaseThreshold floatLamArgscmmProcAlignment historySize importPaths mainModIs mainFunIsreductionDepthsolverIterationsthisInstalledUnitIdthisComponentId_thisUnitIdInsts_waysbuildTag splitInfo objectDirdylibInstallNamehiDirstubDirdumpDir objectSufhcSufhiSufcanGenerateDynamicToo dynObjectSufdynHiSuf outputFile dynOutputFileoutputHi dynLibLoader dumpPrefixdumpPrefixForceldInputs includePaths libraryPathsframeworkPathscmdlineFrameworksrtsOptsrtsOptsEnabledrtsOptsSuggestionshpcDirpluginModNamespluginModNameOptsfrontendPluginOptspluginshooks depMakefiledepIncludePkgDepsdepExcludeMods depSuffixespackageDBFlagsignorePackageFlags packageFlagspluginPackageFlags trustFlags packageEnv pkgDatabasepkgState filesToClean dirsToCleannextTempSuffixgeneratedDumps dumpFlags generalFlags warningFlagsfatalWarningFlagslanguage safeHaskell safeInfer safeInferredthOnLoc newDerivOnLocoverlapInstLocincoherentOnLoc pkgTrustOnLoc warnSafeOnLocwarnUnsafeOnLoctrustworthyOnLoc extensionsextensionFlagsufCreationThresholdufUseThresholdufFunAppDiscountufDictDiscountufKeenessFactorufDearOpufVeryAggressive maxWorkerArgs ghciHistSize log_actionflushOutflushErrghcVersionFilehaddockOptions ghciScriptsuseColor canUseColor colSchemeprofAutointeractivePrintnextWrapperNum sseVersion bmiVersionavxavx2avx512cdavx512eravx512favx512pfrtldInfortccInfomaxInlineAllocSizemaxInlineMemcpyInsnsmaxInlineMemsetInsns reverseErrors maxErrors initialUniqueuniqueIncrement GeneralFlagOpt_DumpToFileOpt_D_faststring_statsOpt_D_dump_minimal_importsOpt_DoCoreLintingOpt_DoStgLintingOpt_DoCmmLintingOpt_DoAsmLintingOpt_DoAnnotationLintingOpt_NoLlvmMangler Opt_FastLlvmOpt_WarnIsErrorOpt_ShowWarnGroupsOpt_HideSourcePathsOpt_PrintExplicitForallsOpt_PrintExplicitKindsOpt_PrintExplicitCoercionsOpt_PrintExplicitRuntimeRepsOpt_PrintEqualityRelationsOpt_PrintUnicodeSyntaxOpt_PrintExpandedSynonymsOpt_PrintPotentialInstancesOpt_PrintTypecheckerElaboration Opt_CallArityOpt_ExitificationOpt_StrictnessOpt_LateDmdAnalOpt_KillAbsenceOpt_KillOneShotOpt_FullLaziness Opt_FloatInOpt_LateSpecialiseOpt_SpecialiseOpt_SpecialiseAggressivelyOpt_CrossModuleSpecialise Opt_StaticArgumentTransformationOpt_CSE Opt_StgCSEOpt_LiberateCaseOpt_SpecConstrOpt_SpecConstrKeenOpt_DoLambdaEtaExpansionOpt_IgnoreAssertsOpt_DoEtaReduction Opt_CaseMergeOpt_CaseFoldingOpt_UnboxStrictFieldsOpt_UnboxSmallStrictFieldsOpt_DictsCheapOpt_EnableRewriteRules Opt_RegsGraphOpt_RegsIterativeOpt_PedanticBottoms Opt_LlvmTBAAOpt_LlvmPassVectorsInRegistersOpt_LlvmFillUndefWithGarbageOpt_IrrefutableTuples Opt_CmmSinkOpt_CmmElimCommonBlocksOpt_AsmShortcuttingOpt_OmitYieldsOpt_FunToThunkOpt_DictsStrictOpt_DmdTxDictSelOpt_Loopification Opt_CprAnalOpt_WorkerWrapperOpt_SolveConstantDictsOpt_AlignmentSanitisationOpt_CatchBottomsOpt_NumConstantFoldingOpt_SimplPreInliningOpt_IgnoreInterfacePragmasOpt_OmitInterfacePragmasOpt_ExposeAllUnfoldingsOpt_WriteInterfaceOpt_AutoSccsOnIndividualCafsOpt_ProfCountEntriesOpt_PpOpt_ForceRecompOpt_IgnoreOptimChangesOpt_IgnoreHpcChangesOpt_ExcessPrecisionOpt_EagerBlackHoling Opt_NoHsMain Opt_SplitObjsOpt_SplitSections Opt_StgStatsOpt_HideAllPackagesOpt_HideAllPluginPackagesOpt_PrintBindResult Opt_HaddockOpt_HaddockOptionsOpt_BreakOnExceptionOpt_BreakOnErrorOpt_PrintEvldWithShowOpt_PrintBindContentsOpt_GenManifestOpt_EmbedManifestOpt_SharedImplibOpt_BuildingCabalPackageOpt_IgnoreDotGhciOpt_GhciSandboxOpt_GhciHistoryOpt_GhciLeakCheckOpt_LocalGhciHistoryOpt_NoItOpt_HelpfulErrorsOpt_DeferTypeErrorsOpt_DeferTypedHolesOpt_DeferOutOfScopeVariablesOpt_PICOpt_PIEOpt_PICExecutableOpt_ExternalDynamicRefsOpt_SccProfilingOn Opt_TickyOpt_Ticky_Allocd Opt_Ticky_LNEOpt_Ticky_Dyn_Thunk Opt_RPathOpt_RelativeDynlibPathsOpt_Hpc Opt_FlatCacheOpt_ExternalInterpreterOpt_OptimalApplicativeDoOpt_VersionMacrosOpt_WholeArchiveHsLibsOpt_SingleLibFolderOpt_ErrorSpansOpt_DiagnosticsShowCaretOpt_PprCaseAsLetOpt_PprShowTicksOpt_ShowHoleConstraintsOpt_ShowValidHoleFitsOpt_SortValidHoleFitsOpt_SortBySizeHoleFitsOpt_SortBySubsumHoleFitsOpt_AbstractRefHoleFitsOpt_UnclutterValidHoleFitsOpt_ShowTypeAppOfHoleFitsOpt_ShowTypeAppVarsOfHoleFitsOpt_ShowTypeOfHoleFitsOpt_ShowProvOfHoleFitsOpt_ShowMatchesOfHoleFitsOpt_ShowLoadedModulesOpt_HexWordLiteralsOpt_SuppressCoercionsOpt_SuppressVarKindsOpt_SuppressModulePrefixesOpt_SuppressTypeApplicationsOpt_SuppressIdInfoOpt_SuppressUnfoldingsOpt_SuppressTypeSignaturesOpt_SuppressUniquesOpt_SuppressStgFreeVarsOpt_SuppressTicksOpt_SuppressTimestampsOpt_AutoLinkPackagesOpt_ImplicitImportQualifiedOpt_KeepHiDiffsOpt_KeepHcFilesOpt_KeepSFilesOpt_KeepTmpFilesOpt_KeepRawTokenStreamOpt_KeepLlvmFilesOpt_KeepHiFilesOpt_KeepOFilesOpt_BuildDynamicTooOpt_DistrustAllPackagesOpt_PackageTrustOpt_G_NoStateHackOpt_G_NoOptCoercionPanicwithSignalHandlersshowGhcException GhcExceptionSignal UsageError CmdLineErrorPprPanicSorryPprSorryInstallationError ProgramErrorPprProgramError Exceptiongcatchgbracketgfinally ghci-8.6.3GHCi.RemoteTypes ForeignHValueHValue coreModule HieFileResulthie_file_resultHieFile hie_module hie_exports IEThingWith ClassOpSigTyClDInstDValDForDDerivDhPutStringBuffer mkHieFile writeHieFile readHieFileaddIncludePathsQuoteghcEnumerateExtensionsgetGhcVersionPathNamedoCppslabel_ cliLayout srenderPlainsrenderColored dupHandleTo dupHandle_ioe_dupHandlesNotCompatibleSpanInfospaninfoStartLinespaninfoStartColspaninfoEndLinespaninfoEndCol spaninfoTypespaninfoSource SpanSourceNamedSpanSNoSourcegetNameM NodeResult ErrorNode SuccessNode LocateErrorbuildResultGraphdiagFromErrMsgsrcSpanToRangesrcSpanToFilename toDSeveritydiagFromStringsdiagFromStringnoSpanzeroSpancatchSrcErrorsdiagFromErrMsgssrcSpanToLocationrealSpandiagFromGhcExceptionlocateModuleFile locateModule notFoundErrImport FileImport PackageImport withWarningsD:R:RuleResultGetParsedModuleD:R:RuleResultGetLocatedImports&D:R:RuleResultGetDependencyInformation D:R:RuleResultReportImportCyclesD:R:RuleResultGetDependenciesD:R:RuleResultTypeCheckD:R:RuleResultGetSpanInfoD:R:RuleResultGenerateCoreD:R:RuleResultGenerateByteCodeD:R:RuleResultGhcSessionD:R:RuleResultGetHieFile D:R:RuleResultProduceCompletions preprocessorparsePragmasIntoDynFlagsrunLhsrunCpprunPreprocessorghc-prim GHC.TypesIO#shake-0.18.4-9NC39FpXylr9tfcIq6qPUu&Development.Shake.Internal.Core.Action newCacheIObase GHC.MaybeNothingJust ShakeNoCutoff ShakeResultQDiskAdeepseq-1.4.4.0Control.DeepSeqrnf BadDependencyKeyValuespublishedDiagnosticspositionMapping currentValue lastValue getValuesseqValue withMVar'setStageDiagnostics!D:R:RuleResultGetModificationTimeupdateFileDiagnosticsgetVirtualFilesetVirtualFileContentsD:R:RuleResultGetFileExistsD:R:RuleResultGetFileContentssetHandlersNotificationscomputePackageDeps compileModulesetupEnvloadModuleHomegetImportsParsedgetModSummaryFromBufferparseFileContentsgenerateByteCodeaddRelativeImportmkTcModuleResultgetSrcSpanInfos getSpanInfo funBindMapieLNamesgetTypeLHsBindgetTypeLHsExpr getTypeLPatlistifyAllSpans toSpanInfo docHeadersgetDocumentationgetDocumentationTryGhcgotoDefinitionatPoint spansAtPointContext ModuleContext ImportContextImportListContextImportHidingContext ExportContext getCContextstripAutoGeneratedprefixesgetCompletionsLSPsetHandlersCompletionrawDependencyInformationsetHandlersOutlinerequestsetHandlersDefinitionsetHandlersHover codeActioncodeLensexecuteAddSignatureCommandextendToWholeLineIfPossible ghcExtensions textInRangerangesForBindingaddBindingToImportList matchRegex unconsRangeextendToIncludeCommaIfPossiblesetHandlersCodeActionsetHandlersCodeLensMessageResponseAndRequestsetHandlersIgnore