,8       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab 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:;<=>?@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/{/|/}/~//////////000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111122 2 3 3 3 3334444444444566667 7!7"7#7$7%7&7'7(7)7*7+7,7-7.8/90919293949596:7;8;9;:;;;<;=;>;?;@;A<B=C>D?E?F?G?H@I@JAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAABBBBCDDEFFFGGGHHHHIJJJJJJJJJJJJJKKLLLLLLLLLLLLLLLMMNNOPQQRRRSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T T U V VVVVVVVVVWWWWWWWWWW W!W"W#W$W%W&W'W(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W9W:W;W<W=W>W?W@WAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTXUYVYWYXYYYZY[Y\Y]Y^Y_Y`ZaZb[c[d[e\f\g\h\i\j\k\l\m\n]o]p^q_r`satbucvdwdxeyeze{e|e}e~eeeeeeeeeeeeeefffffffggghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjkkkkkkllmmnnnnnnooooooooooooooooooooooooooooopp p p p p ppppppppppppppppppp p!p"p#p$p%p&p'p(p)p*p+p,p-p.p/p0p1p2q3q4q5q6q7q8q9q:q;q<q=q>q?q@qAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq[q\q]q^q_q`qaqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzq{q|q}q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q !q "q #q $q %q &q 'q (q )q *q +q ,q -q .q /q 0q 1q 2q 3q 4q 5q 6r 7s 8s 9s :s ;t <t =t >t ?t @t At Bt Ct Dt Et Ft Gt Ht It Jt Kt Lt Mt Nt Ot Pu Qu Ru Su Tu Uu Vu Wu Xu Yu Zv [v \w ]w ^w _w `w aw bw cw dw ew fw gw hw iw jw kw lw mw nw ow pw qw rw sw tw uw vw ww xw yw zw {w |w }w ~w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w !w "w #w $w %w &w 'w (w )w *w +w ,w -w .w /w 0w 1w 2w 3w 4w 5w 6w 7w 8w 9w :w ;w <w =w >w ?w @w Aw Bw Cw Dw Ex Fx Gx Hx Ix Jx Kx Lx Mx Nx Ox Px Qx Rx Sx Tx Ux Vx Wx Xx Yx Zx [x \x ]x ^x _x `x ax bx cx dx ex fx gx hx ix jx kx lx mx nx ox px qx rx sx tx ux vx wx xy yy zy {z |z }z ~z z z z z z z z z 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 { | } ~  Safe"#%+-3;<=>?FNQTV]d;A replacement for WriterT IO which uses mutable references.5Run a Logger computation, starting with an empty log.  None"#%+-3<>?FKNQV]d  None"#%+-37<>?FNQTV]d !   $#"!  None"#%+-3<>?FNQV]d%'&%&'++%&'None"#%+-36<>?FNQV]dh/ Source name0Start of the span1End of the span2Source position information4 Line number5 Column number66Source annotation - position information and comments.-./0123546789:;62345>7=<-./01A89@?:;-./012345Safe"#%+-3<>?FNQV]dJ A compatibility wrapper for the GHC.Stack.HasCallStack constraint.K3Exit with an error message and a crash report link.JKJKNone"#%+-36<>?FNQV]diLFixity data for infix operatorsN!Associativity for infix operatorsR(A precedence level for an infix operator LMNPOQRSTRNOPQWSTVULMYXLMNOPQ None"#%+-3<>?FNQV]dbAn embedded copy of normalize.css as a UTF-8 encoded ByteString; this should be included before pursuit.css in any HTML page using pursuit.css.cLike b , but as a  .dDCSS for use with generated HTML docs, as a UTF-8 encoded ByteString.eLike d , but as a  .bcdebcde Safe"#%+-3<>?FNQV]dff Safe"#%+-3<>?FNQV]dIg0Locates the node executable. Checks for either nodejs or node.h/Grabs the filename where the history is stored.ghgh None"#%+-3456<>?FNQV]di:A qualified name, i.e. a name with an optional module namek Module namesm$The closed set of proper name types.sTProper names, i.e. capitalized names for e.g. module names, type//data constructors.v'The closed set of operator alias types.zOperator alias names.}Names for value identifiers~An alphanumeric identifier"A generated name for an identifier,A generated name used only for type-checkingEA sum of the possible name types, useful for error and lint messages.Coerces a ProperName from one ProperNameType to another. This should be used with care, and is primarily used to convert ClassNames into TypeNames after classes have been desugared.7Provide a default module name, if a name is unqualified4Makes a qualified value from a name and module name.,Remove the module name from a qualified nameZRemove the qualification from a value when it is qualified with a particular module name.NChecks whether a qualified value is actually qualified with a module referenceRChecks whether a qualified value is not actually qualified with a module referenceFChecks whether a qualified value is qualified with a particular module<ijklmqponrstuvyxwz{|}~L}~z{|vwxystumnopqrklijijklmnopqrstuvwxyz{|}~ None"#%+-3<>?FNQV]dʍ Data constructor metadata6The constructor is for a type with a single construcor7The constructor is for a type with multiple construcorsMetadata annotations)The contained value is a data constructor The contained value is a newtype9The contained value is a typeclass dictionary constructor/The contained reference is for a foreign member%The contained value is a where clause None"#%+-3<>?FNQV]d Convert an }$ into a valid JavaScript identifier:,Alphanumeric characters are kept unmodified.2Reserved javascript identifiers are prefixed with $$.Symbols are prefixed with  2 followed by a symbol name or their ordinal value.<Test if a string is a valid AST identifier without escaping.kAttempts to find a human-readable name for a symbol, if none has been specified returns the ordinal value.<Checks whether an identifier name is reserved in JavaScript.=Checks whether a name matches a built-in value in JavaScript.Safe"#%+-3<>?FNQV]dL!The data type of compiler optionsVerbose error message)Remove the comments from the generated js"Codegen targets (JS, CoreFn, etc.) None"#%+-36<>?FKNQV]dStrings in PureScript are sequences of UTF-16 code units, which do not necessarily represent UTF-16 encoded text. For example, it is permissible for a string to contain *lone surrogates,* i.e. characters in the range U+D800 to U+DFFF which do not appear as a part of a surrogate pair.The Show instance for PSString produces a string literal which would represent the same data were it inserted into a PureScript source file.Because JSON parsers vary wildly in terms of how they deal with lone surrogates in JSON strings, the ToJSON instance for PSString produces JSON strings where that would be safe (i.e. when there are no lone surrogates), and arrays of UTF-16 code units (integers) otherwise. Decode a PSString to a String, representing any lone surrogates as the reserved code point with that index. Warning: if there are any lone surrogates, converting the result to Text via Data.Text.pack will result in loss of information as those lone surrogates will be replaced with U+FFFD REPLACEMENT CHARACTER. Because this function requires care to use correctly, we do not export it.eDecode a PSString as UTF-16 text. Lone surrogates will be replaced with U+FFFD REPLACEMENT CHARACTERDecode a PSString as UTF-16. Lone surrogates in the input are represented in the output with the Left constructor; characters which were successfully decoded are represented with the Right constructor.Pretty print a PSString, using Haskell/PureScript escape sequences. This is identical to the Show instance except that we get a Text out instead of a String.zAttempt to decode a PSString as UTF-16 text. This will fail (returning Nothing) if the argument contains lone surrogates.dPretty print a PSString, using JavaScript escape sequences. Intended for use in compiled JS output.  None"#%+-36<>?FKNQV]d Labels are used as record keys and row entry names. Labels newtype PSString because records are indexable by PureScript strings at runtime.      None"#%+-3<>?FNQV]d !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ɲ56789:;<=>4?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3210/.-,+*)('&%$#"! None"#%+-36<>?FNQV]dThe data type of kinds!Unification variable of type Kind5Kinds for labelled, unordered rows without duplicatesFunction kinds A named kind  None"#%+-3<>?FNQV]dUData type for literal values. Parameterised so it can be used for Exprs and Binders.A numeric literalA string literalA character literalA boolean literalAn array literalAn object literalNone"#%+-3<>?FNQV]d 7Data type for bindersWildcard binder&A binder which matches a literal value"A binder which binds an identifier)A binder which matches a data constructor/A binder which binds its input to an identifierNone"#%+-3<>?FNQV]d"An alternative in a case statement6A collection of binders with which to match the inputs9The result expression or a collect of guarded expressionsSA guard is just a boolean-valued expression that appears alongside a set of bindersA let or module binding.(Non-recursive binding for a single value3Mutually recursive binding group for several values#Data type for expressions and termsA literal value=A data constructor (type name, constructor name, field names)A record property accessorPartial record updateFunction introductionFunction applicationVariableA case expression A let binding"Extract the annotation from a termModify the annotation on a term None"#%+-3<>?FNQV]d  None"#%+-3<>?FNQV]d  The CoreFn module representationThe json CoreFn representation does not contain type information. When parsing it one gets back `ModuleT () Ann` rathern than `ModuleT Type Ann`, which is enough for  moduleToJs.              Safe"#%+-3<>?FNQV]d+State for the parser monad*The most recently marked indentation levelNone"#%+-3<>?FNQV]d, Start position of this token5End position of this token (not including whitespace)"End position of the previous token#Lexes the given file, and on encountering a parse error, returns the progress made up to that point, instead of returning an error CWe use Text.Parsec.Token to implement the string and number lexemes /A token parser based on the language definitionA1Parse zero or more values separated by semicolonsB0Parse one or more values separated by semicolonsC-Parse zero or more values separated by commasD,Parse one or more values separated by commasV)A list of purescript reserved identifiersX+The characters allowed for use in operators <The characters allowed in the head of an unquoted record key <The characters allowed in the tail of an unquoted record keyY3Strings allowed to be left unquoted in a record keyA !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYA !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGKLMIJNHOPUQRSTVWXY ! None"#%+-3<>?FNQV]d?_Parse a general proper name.`Parse a proper name for a type.aParse a proper name for a kind.b+Parse a proper name for a data constructor.cParse a module named0Parse a qualified name, i.e. M.name or just nameeParse an identifier.f<Parse a label, which may look like an identifier or a stringgParse an operator.hnRun the first parser, then match the second if possible, applying the specified function on a successful matchinRun the first parser, then match the second zero or more times, applying the specified function for each matchjPBuild a parser from a smaller parser and a list of parsers for postfix operatorsk"Mark the current indentation levell;Check that the current identation level matches a predicatemACheck that the current indentation level is past the current marknWCheck that the current indentation level is at the same indentation as the current marko?Read the comments from the the next token, without consuming itp Run a parserqConvert from Parsec sourceposr-Read source position information and comments_`abcdefghijklmnopqrstu_`abcdefghijklmnopqrstuNone"#%+-3<>?FNQV]dA:v Parse a kindvvSafe"#%+-3<>?FNQV]dB wxyz{|}~ wxyz{|}~None"#%+-3<>?FNQV]dDGGlob relative to the current directory, and produce relative pathnames.)Glob pattern for PureScript source files.Safe"#%+-3<>?FNQV]dENone"#%+-36<>?FKNQV]dg'A typeclass constraintconstraint class nametype arguments+additional data relevant to this constraint2Additional data relevant to type class constraintsData to accompany a Partial constraint generated by the exhaustivity checker. It contains (rendered) binder information for those binders which were not matched, and a flag indicating whether the list was truncated or not. Note: we use   here because using Binder: would introduce a cyclic dependency in the module graph.The type of types#A unification variable of type TypeA named type variableA type-level string:A type wildcard, as would appear in a partial type synonymA type constructorlA type operator. This will be desugared into a type constructor during the "operators" phase of desugaring.A type applicationForall quantifier+A type with a set of type class constraintsA skolem constant An empty rowA non-empty rowA type with a kind annotation%A placeholder used in pretty printing%A placeholder used in pretty printing%A placeholder used in pretty printingqBinary operator application. During the rebracketing phase of desugaring, this data constructor will be removed.jExplicit parentheses. During the rebracketing phase of desugaring, this data constructor will be removed.zNote: although it seems this constructor is not used, it _is_ useful, since it prevents certain traversals from matching.0An identifier for the scope of a skolem variable4Convert a row to a list of pairs of labels and typesKConvert a row to a list of pairs of labels and types, sorted by the labels.+Convert a list of labels and types to a row"Check whether a type is a monotypeUniversally quantify a type?Replace a type variable, taking into account variable shadowing'Replace named type variables with types.Collect all type variables appearing in a type3Collect all free type variables appearing in a typeEUniversally quantify over all type variables appearing free in a type5Move all universal quantifiers to the front of a type"Check if a type contains wildcardsCheck if a type contains forall2< None"#%+-3456<>?FNQV]dr ;Data representing a type class dictionary which is in scopeThe instance chainIndex of the instance chain>The value with which the dictionary can be accessed at runtime8How to obtain this instance via superclass relationshipsDThe name of the type class to which this type class instance applies3The types to which this type class instance appliesLType class dependencies which must be satisfied to construct this dictionaryPGenerate a name for a superclass reference which can be used in generated code.  !None"#%+-36<>?FNQV]d2? The type ('data' or  'newtype') of a data type declarationA standard data constructorA newtype constructorThe kinds of a type Data type Type synonym Foreign dataA local type variableA scoped type variableA flag for whether a name is for an private or public value - only public values will be included in a generated externs file.mA private value introduced as an artifact of code generation (class instances, class member accessors, etc.)@A public value for a module member or foreing import declaration.A name for member introduced by foreign import!The visibility of a name in scopeDThe name is defined in the current binding group, but is not visible_The name is defined in the another binding group, or has been made visible by a function binderlA functional dependency indicates a relationship between two sets of type arguments in a class declaration.@the type arguments which determine the determined type argumentsthe determined type argumentsInformation about a type classVA list of type argument names, and their kinds, where kind annotations were provided.oA list of type class members and their types. Type arguments listed above are considered bound in these types.A list of superclasses of this type class. Type arguments listed above are considered bound in the types appearing in these constraints.GA list of functional dependencies for the type arguments of this class.A set of indexes of type argument that are fully determined by other arguments via functional dependencies. This can be computed from both typeClassArguments and typeClassDependencies.BA sets of arguments that can be used to infer all other arguments.The  Environment; defines all values and types which are currently in scope:Values currently in scope Type names currently in scope yData constructors currently in scope, along with their associated type constructor name, argument types and return type.  Type synonyms currently in scope 3Available type class dictionaries. When looking up   in the outer map, this returns the map of type class dictionaries in local scope (ie dictionaries brought in by a constrained type).  Type classesKinds in scopeTThe initial environment with no values and only the default javascript types definedgA constructor for TypeClassData that computes which type class arguments are fully determined and argument covering sets. Fully determined means that this argument cannot be used when selecting a type class instance. A covering set is a minimal collection of arguments that can be used to find an instance and therefore determine all other type arguments.An example of the difference between determined and fully determined would be with the class: ```class C a b c | a -> b, b -> a, b -> c``` In this case, a must differ when bB differs, and vice versa - each is determined by the other. Both a and b: can be used in selecting a type class instance. However, c% cannot - it is fully determined by a and b."Define a graph of type class arguments with edges being fundep determiners to determined. Each argument also has a self looping edge. An argument is fully determined if doesn't appear at the start of a path of strongly connected components. An argument is not fully determined otherwise.1The way we compute this is by saying: an argument X is fully determined if there are arguments that determine X that X does not determine. This is the same thing: everything X determines includes everything in its SCC, and everything determining X is either before it in an SCC path, or in the same SCC.)Construct a ProperName in the Prim module Construct a s in the  Prim.NAME module.Kind of ground types#Construct a type in the Prim moduleType constructor for functionsType constructor for strings Type constructor for strings!Type constructor for numbers"Type constructor for integers#Type constructor for booleans$Type constructor for arrays%Type constructor for records& Check whether a type is a record'"Check whether a type is a function)$Smart constructor for function types* Kinds in Prim+ Kinds in  Prim.Ordering, Kinds in  Prim.RowList- Kinds in Prim.TypeError.All primitive kinds/oThe primitive types in the external javascript environment with their associated kinds. There are also pseudo Fail, Warn, and Partial; types that correspond to the classes with the same names.0This Map6 contains all of the prim types from all Prim modules.60The primitive class map. This just contains the Partial class. Partial= is used as a kind of magic constraint for partial functions.7<This contains all of the type classes from all Prim modules.<GFinds information about data constructors from the current environment.=3Checks whether a data constructor is for a newtype.><Finds information about values from the current environment.U      !"#$%&'()*+,-./0123456789:;<=>b     KBA@?CDGFEJIH !"#$%&'()*+,-./0123456789:;<=>     4"None"#%+-3<>?FNQV]d _Parse an atomic type with no forall`5Parse a type as it appears in e.g. a data constructoraParse a monotypebParse a polytypec&Parse an atomic type with no wildcards_`abcab_c`#None"#%+-3<>?FNQV]dd Type alias for basic annotationse9An annotation empty of metadata aside from a source span.f&Remove the comments from an annotationdefdef$None"#%+-3<>?FNQV]d̬gCoreFn optimization pass. QReturn the labels of a closed record, or Nothing for other types or open records.gg%None"#%+-3<>?FNQV]d hData type for bindersiWildcard binderj A binder which matches a literalk"A binder which binds an identifierl)A binder which matches a data constructormmA operator alias binder. During the rebracketing phase of desugaring, this data constructor will be removed.nqBinary operator application. During the rebracketing phase of desugaring, this data constructor will be removed.ojExplicit parentheses. During the rebracketing phase of desugaring, this data constructor will be removed.zNote: although it seems this constructor is not used, it _is_ useful, since it prevents certain traversals from matching.p/A binder which binds its input to an identifierq)A binder with source position informationrA binder with a type annotations8Collect all names introduced in binders in an expression hrqonmplkjisthijklmnopqrvusth ijklmnopqrSafe"#%+-3<>?FNQV]d= &None"#%+-3<>?FNQV]d >A module is just a list of elements of the types listed above. <There are four types of module element we are interested in:R1) Require statements 2) Member declarations 3) Export lists 4) Everything else|Each is labelled with the original AST node which generated it, so that we can dump it back into the output during codegen. An export is either a "regular export", which exports a name from the regular module we are in, or a reexport of a declaration in the corresponding foreign module.WRegular exports are labelled, since they might re-export an operator with another name. yA piece of code is identified by its module and its name. These keys are used to label vertices in the dependency graph.x7A module is identified by its module name and its type.zkModules are either "regular modules" (i.e. those generated by the PureScript compiler) or foreign modules.}The type of error messages. We separate generation and rendering of errors using a data type, in case we need to match on error types later.XGiven a filename, assuming it is in the correct place on disk, infer a ModuleIdentifier.3Prepare an error message for consumption by humans. FCalculate the ModuleIdentifier which a require(...) statement imports. OCompute the dependencies of all elements in a module, and add them to the tree.YMembers and exports can have dependencies. A dependency is of one of the following forms: 1) module.name or member["name"]where module was imported usingvar module = require( Module.Name);2) nameAwhere name is the name of a member defined in the current module. 1Attempt to create a Module from a JavaScript AST.xEach type of module element is matched using pattern guards, and everything else is bundled into the Other constructor. =Eliminate unused code based on the specified entry point set. zTopologically sort the module dependency graph, so that when we generate code, modules can be defined in the right order. A module is empty if it contains no exported members (in other words, if the only things left after dead code elimination are module imports and "other" foreign code).<If a module is empty, we don't want to generate code for it. ?Generate code for a set of modules, including a call to main().8Modules get defined on the global PS object, as follows:>var PS = { }; (function(exports) { ... })(PS[ Module.Name] = PS[ Module.Name ] || {});UIn particular, a module and its foreign imports share the same namespace inside PS. This saves us from having to generate unique names for a module and its foreign imports, and is safe since a module shares a namespace with its foreign imports in PureScript as well (so there is no way to have overlaps in code generated by the compiler).The bundling function. This function performs dead code elimination, filters empty modules and generates and prints the final JavaScript bundle.The bundling function. This function performs dead code elimination, filters empty modules and generates and prints the final JavaScript bundle.  main module namespace input modulesoutput filenamePThe input modules. Each module should be javascript rendered from the compiler.WEntry points. These module identifiers are used as the roots for dead-code eliminationAn optional main module.The namespace (e.g. PS).JThe output file name (if there is one - in which case generate source map)PThe input modules. Each module should be javascript rendered from the compiler.WEntry points. These module identifiers are used as the roots for dead-code eliminationAn optional main module.The namespace (e.g. PS).xyz|{}~xyz{|}~    xyz{|}~'None"#%+-34568<>?FNQV]d5k"A statement in a do-notation block A monadic value without a binderA monadic value with a binder0A let statement, i.e. a pure value with a binder6A do notation element with source position information"An alternative in a case statement6A collection of binders with which to match the inputs9The result expression or a collect of guarded expressions2Metadata that tells where a let binding originated-The let binding was originally a where clause(The let binding was always a let binding#Data type for expressions and termsA literal valueA prefix -, will be desugaredqBinary operator application. During the rebracketing phase of desugaring, this data constructor will be removed.jExplicit parentheses. During the rebracketing phase of desugaring, this data constructor will be removed.zNote: although it seems this constructor is not used, it _is_ useful, since it prevents certain traversals from matching.-An record property accessor expression (e.g. `obj.x` or `_.x`z). Anonymous arguments will be removed during desugaring and expanded into a lambda that reads a property from a record.Partial record update_Object updates with nested support: `x { foo { bar = e } }` Replaced during desugaring into a  and nested sFunction introductionFunction applicationVariable`An operator. This will be desugared into a function during the "operators" phase of desugaring.%Conditional (if-then-else expression)A data constructorA case expression. During the case expansion phase of desugaring, top-level binders will get desugared into case expressions, hence the need for guards and multiple binders per branch here.A value with a type annotation A let bindingA do-notation blockAn ado-notation block\An application of a typeclass dictionary constructor. The value should be an ObjectLiteral.A placeholder for a type class dictionary to be inserted later. At the end of type checking, these placeholders will be replaced with actual expressions representing type classes dictionaries which can be evaluated at runtime. The constructor arguments represent (in order): whether or not to look at superclass implementations when searching for a dictionary, the type class name and instance type, and the type class dictionaries in scope.`A typeclass dictionary accessor, the implementation is left unspecified until CoreFn desugaring.eA placeholder for a superclass dictionary to be turned into a TypeClassDictionary during typechecking0A placeholder for an anonymous function argumentFA typed hole that will be turned into a hint/error during typechecking(A value with source position informationLThe right hand side of a binder in value declarations and case expressions.SA guard is just a boolean-valued expression that appears alongside a set of binders0The members of a type class instance declarationThis is a derived instance*This is an instance derived from a newtypenThis is an instance derived from a newtype, desugared to include a dictionary for the type under the newtype.%This is a regular (explicit) instanceThe data type of declarationsMA data type declaration (data or newtype, name, arguments, data constructors):A minimal mutually recursive set of data type declarations2A type synonym declaration (name, arguments, type))A type declaration for a value (name, ty)DA value declaration (name, top-level binders, optional guard, value)_A declaration paired with pattern matching in let-in expression (binder, optional guard, value)6A minimal mutually recursive set of value declarations)A foreign import declaration (name, type)'A data type foreign import (name, kind)A foreign kind import (name)A fixity declaration'A module import (module name, qualified unqualified%hiding, optional "qualified as" name)GA type class declaration (name, argument, implies, member declarations)A type instance declaration (instance chain, chain index, name, dependencies, class name, instance types, member declarations)mA value declaration assigns a name and potential binders, to an expression (or multiple guarded expressions). double x = x + xIn this example double is the identifier, x is a binder and x + x is the expression.The declared value's name-Whether or not this value is exported/visible7A type declaration assigns a type to an identifier, eg: identity :: forall a. a -> aIn this example identity is the identifier and forall a. a -> a the type.8The data type which specifies type of import declaration,An import with no explicit list: `import M`.IAn import with an explicit list of references to import: `import M (foo)`DAn import with a list of references to hide: `import M hiding (foo)`0An item in a list of explicit imports or exports)A type constructor with data constructorsA type operatorA valueA value-level operator A type class]A type class instance, created during typeclass desugaring (name, class name, instance types)A module, in its entirety A named kindgA value re-exported from another module. These will be inserted during elaboration in name desugaring.A module declaration, consisting of comments about the module, a module name, a list of declarations, and a list of the declarations that are explicitly exported. If the export list is Nothing, everything is exported.Categories of hintsGError message hints, providing more detailed information about failure.A type of error messages]@constructor name, expected argument count, actual argument countIinstance name, type class, expected argument count, actual argument count:a user-defined warning raised by using the Warn type classBa declaration couldn't be used because it contained free variablesCHolds the data necessary to do type directed search for typed holesEAn Environment captured for later consumption by type directed searchPResults of applying type directed search to the previously captured Environment8The identifiers that fully satisfy the subsumption checkIRecord fields that are available on the first argument to the typed hole&A map of locally-bound names in scope.Return a module's name.Return a module's source span.Return a module's declarations.SAdd an import declaration for a module if it does not already explicitly import it.fWill not import an unqualified module if that module has already been imported qualified. (See #2197)mAdds import declarations to a module for an implicit Prim import and Prim | qualified as Prim, as necessary. A traversal for TypeInstanceBody,Test if a declaration is a value declaration@Test if a declaration is a data type or type synonym declaration(Test if a declaration is a module import3Test if a declaration is a data type foreign import.Test if a declaration is a foreign kind import-Test if a declaration is a fixity declaration)Test if a declaration is a foreign import:Test if a declaration is a type class instance declaration1Test if a declaration is a type class declarationCRecursively flatten data binding groups in the list of declarations'     ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! J, !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           l !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(None"#%+-3<>?FNQV]d@=Map a function over type annotations appearing inside a value)None"#%+-3<>?FNQV]d Return a list of all declarations which are exported from a module. This function descends into data declarations to filter out unexported data constructors, and also filters out type instance declarations if they refer to classes or types which are not themselves exported.]Note that this function assumes that the module has already had its imports desugared using N. It will produce incorrect results if this is not the case - for example, type class instances will be incorrectly removed in some cases.The returned declarations are in the same order as they appear in the export list, unless there is no export list, in which case they appear in the same order as they do in the source file. Filter out all data constructors from a declaration which are not exported. If the supplied declaration is not a data declaration, this function returns it unchanged. Filter out all the type instances from a list of declarations which reference a type or type class which is both local and not exported.Note that this function assumes that the module has already had its imports desugared using "Language.PureScript.Sugar.Names.desugarImports". It will produce incorrect results if this is not the case - for example, type class instances will be incorrectly removed in some cases. LGet all type and type class names referenced by a type instance declaration. Test if a declaration is exported, given a module's export list. Note that this function does not account for type instance declarations of non-exported types, or non-exported data constructors. Therefore, you should prefer  " to this function, where possible. _Test if a data constructor for a given type is exported, given a module's export list. Prefer  " to this function, where possible. NReorder declarations based on the order they appear in the given export list.    None"#%+-3<>?FNQV]dmf-.10/23456789:;LMNQOPRSThijklpmnoqrst     J !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  *None"#%+-3<>?FNQV]d Replace every BoundValueDeclaration in Let expressions with Case expressions. Desugar a single let expression  +None"#%+-3<>?FKNQV]dŎ )String with length and source-map entriesWrap a string in parentheses+Generalize intercalate slightly for monoids!)Number of characters per identation level")Pretty print with a new indentation level#!Get the current indentation level$Print many lines&RPlace a box before another, vertically when the first box takes up multiple lines.(*Place a Box on the bottom right of another*Make a monoid where append consists of concatenating the string part, adding the lengths appropriately and advancing source mappings on the right hand side to account for the length of the left.   !"#$%&'( *)+   !"#$%&'(  ,None"#%+-3<>?FNQV]dO-4Generate a pretty-printed string representing a Kind---None"#%+-3<>?FNQV]dΘ 3Generate a pretty-printed string representing a Row0\Generate a pretty-printed string representing a Type, as it should appear inside parentheses30Generate a pretty-printed string representing a 40Generate a pretty-printed string representing a ( using unicode symbols where applicable5:Generate a pretty-printed string representing a suggested  ./01234567 12345/0.67  .None"#%+-3<>?FNQV]d 5Render an aligned list of items separated with commas8Pretty-print an expression CPretty-print an atomic expression, adding parentheses if necessary.:6Generate a pretty-printed string representing a Binder89:8:9None"#%+-3<>?FNQV]d-./0123456789:/None"#%+-3<>?FNQV]d!;8A type or value declaration appearing in an externs file<A type declaration=A type synonym>A data construtor?A value declaration@A type class declarationAAn instance declarationBA kind declaration\,A type fixity declaration in an externs file^!The associativity of the operator_$The precedence level of the operator`The operator symbola&The value the operator is an alias forb'A fixity declaration in an externs filed!The associativity of the operatore$The precedence level of the operatorfThe operator symbolg&The value the operator is an alias forh"A module import in an externs filejThe imported modulek-The import type: regular, qualified or hidingl+The imported-as name, for qualified importsm4The data which will be serialized to an externs fileoThe externs versionp Module nameqList of module exportsrList of module importss$List of operators and their fixitiest)List of type operators and their fixitiesu"List of type and value declarationvSource span for error reportingw*Convert an externs file back into a modulex9Generate an externs file for all declarations in a module>;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx>mnopqrstuvhijklbcdefg\]^_`a;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[xw; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm nopqrstuv0None"#$%+-3<>?FKNQV]d ' Options$Color code with this color... or not"Should write a full error message?)Should this report an error or a warning?/Should show a link to error message's doc page?)FilePath to which the errors are relativeHow critical the issue isLA map from rigid type variable name/unknown variable pairs to new variables.Ga map from skolems to their new names, including source and naming info3a map from unification variables to their new namesunknowns and skolems share a source of names during renaming, to avoid overlaps in error messages. This is the next label for either case.A stack trace for an error Get the source span for an error Get the module name for an error3Remove the module name and span hints from an error.Get the error code for a particular error type5Check whether a collection of errors is empty or not.6Create an error set from a single simple error messageLCreate an error set from a single simple error message and source annotationMCreate an error set from a single simple error message and source annotations/Create an error set from a single error message?Lift a function on ErrorMessage to a function on MultipleErrorsAdd a hint to an error messageAdd hints to an error message1Extract nested error messages from wrapper errors)Default color intesity and color for codeDefault options for PPEOptions5Pretty print a single error, simplifying if necessaryPretty print multiple errorsPretty print multiple warningsPretty print warnings as a BoxPretty print errors as a Box)Pretty print a Parsec ParseError as a Box Pretty print  ParseError detail messages. Adapted from . See  Hhttps://github.com/aslatter/parsec/blob/v3.1.9/Text/Parsec/Error.hs#L173./Indent to the right, and pad on top and bottom.JRethrow an error with a more detailed error message in the case of failure1Rethrow an error with source position informationuRuns a computation listening for warnings and then escalating any warnings that match the predicate to error status.Collect errors in in parallel-.10/23456789:;LMNQOPRSThijklpmnoqrst     J !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  K1None"#%&'+-3;<=>?FNQV]d3(Unification variables State required for type checking The current  Environment"The next type unification variable"The next kind unification variableThe next skolem variableThe next skolem scope constantThe current moduleThe current substitutionOThe current error message hint stack. This goes into state, rather than using R, since this way, we can provide good error messages during instance resolution.:A substitution of unification variables for types or kindsType substitutionKind substitutionAn empty substitutionCreate an empty  CheckState0Temporarily bind a collection of names to values/Temporarily bind a collection of names to types/Temporarily bind a collection of names to typesThese hints are added at the front, so the most nested hint occurs at the front, but the simplifier assumes the reverse order.BTemporarily make a collection of type class dictionaries available:Get the currently available map of type class dictionaries+Lookup type class dictionaries in a module.+Lookup type class dictionaries in a module.9Temporarily bind a collection of names to local variables>Temporarily bind a collection of names to local type variables-Update the visibility of all names to DefinedQUpdate the visibility of all names to Defined in the scope of the provided action6Perform an action while preserving the names from the  Environment.*Lookup the type of a value by name in the  Environment0Lookup the visibility of a value by name in the  EnvironmentAssert that a name is visible)Lookup the kind of a type by name in the  EnvironmentGet the current  Environment?Get locally-bound names in context, to create an error message. Update the  Environment Modify the  EnvironmentDRun a computation in the typechecking monad, starting with an empty  EnvironmenttRun a computation in the typechecking monad, failing with an error, or succeeding with a return value and the final  Environment.0Make an assertion, failing with an error messagebRun a computation in the substitution monad, generating a return value and the final substitution.00 2None"#%&'+-3<>?FNQV]d9ONType synonym information (arguments with kinds, aliased type), indexed by name#Replace fully applied type synonyms >Replace fully applied type synonyms by explicitly providing a .  3None"#%+-3<>?FNQV]dF Generate a new skolem constant 5Introduce skolem scope at every occurence of a ForAll Generate a new skolem scope PSkolemize a type variable by replacing its instances with fresh skolem constantsMThis function skolemizes type variables appearing in any type signatures or o placeholders. These type variables are the only places where scoped type variables can appear in expressions.1Ensure skolem variables do not escape their scope(Every skolem variable is created when a c type is skolemized. This determines the scope of that skolem variable, which is copied from the  field of the  constructor.<This function traverses the tree top-down, and collects any s introduced by s. If a  is encountered whose L is not in the current list, then we have found an escaped skolem variable.        4None"#%+-3;<=>?FNQV]dU Generate a fresh type variable2Update the substitution to solve a type constraintApply a substitution to a type 2Make sure that an unknown does not occur in a type2Compute a list of all unknowns appearing in a type2Unify two types, updating the current substitution9Align two rows of types, splitting them into three parts:%Those types which appear in both rows#Those which appear only on the left$Those which appear only on the rightINote: importantly, we preserve the order of the types with a given label.1Unify two rows, updating the current substitutionCommon labels are identified and unified. Remaining labels and types are unified with a trailing row unification variable, if appropriate.>Replace a single type variable with a new unification variable$Replace type wildcards with unknownsJReplace outermost unsolved unification variables with named type variables  5None"#%&'+-3<>?FNQTV]db 5This type family tracks what evidence we return from  for each mode. %Value-level proxies for the two modes %Subsumption can operate in two modes:CElaboration mode, in which we try to insert type class dictionaries;No-elaboration mode, in which we do not insert dictionariesVSome subsumption rules apply in both modes, and others are specific to certain modes.The subsumption algorithm follows the structure of the types in question, and we can switch into no-elaboration mode when we move under a type constructor where we can no longer insert dictionaries, e.g. into the fields of a record. #The default coercion for each mode.YCheck that one type subsumes another, rethrowing errors to provide a better error message $Check that one type subsumes another   6None"#%+-3;<=>?FNQV]dn[ Generate a fresh kind variable 2Update the substitution to solve a kind constraint Apply a substitution to a kind 2Make sure that an unknown does not occur in a kind Unify two kindsInfer the kind of a single typeQInfer the kind of a single type, returning the kinds of any scoped type variablestInfer the kind of a type constructor with a collection of arguments and a collection of associated data constructorsNSimultaneously infer the kinds of several mutually recursive type constructors ^Solve the set of kind constraints associated with the data constructors for a type constructor 7Default all unknown kinds to the kindType kind of types Infer a kind for a type7None"#$%+-3<>?FNQV]d!Options for the constraint solver!EShould the solver be allowed to generalize over unsolved constraints?"EShould the solver be allowed to defer errors by skipping constraints? QThree options for how we can handle a constraint, depending on the mode we're in. We solved this constraint CWe couldn't solve this constraint right now, it will be generalized DWe couldn't solve this constraint right now, so it has been deferred GA type substitution which makes an instance head match a list of types.Note: we store many types per type variable name. For any name, all types should unify if we are going to commit to an instance.#The #1 tracks those constraints which can be satisfied. =Description of a type class dictionary with instance evidence FDescribes what sort of dictionary to generate for type class instances An existing named instance 3Warn type class with a user-defined warning message 2The IsSymbol type class for a given Symbol literal )For any solved type class with no members *Extract the identifier of a named instance$PReplace type class dictionary placeholders with inferred type class dictionaries%Check that the current set of type class dictionaries entail the specified type class goal, and, if so, return a type class dictionary reference.&iAdd a dictionary for the constraint to the scope, and dictionaries for all implied superclass instances. 5Check all pairs of values in a list match a predicate 4Check any pair of values in a list match a predicate%Solver optionsThe constraint to solve-The contexts in which to solve the constraint3Error message hints to apply to any instance errors !"#$%&# !"$&%   !"   8None"#%+-3<>?FNQV]d@ )Additional constraints we need to satisfyGThe Environment which contains the relevant definitions and typeclassesThe typechecker stateThe user supplied type$The type supplied by the environment K(all accessors we found, all accessors we found that match the result type).)Additional constraints we need to satisfyGThe Environment which contains the relevant definitions and typeclassesThe typechecker stateThe type we are looking for..9None"#$%+-3<>?FNQV]d eA binding group contains multiple value definitions, some of which are typed and some which are not.HThis structure breaks down a binding group into typed and untyped parts. The untyped expressions 8The typed expressions, along with their type annotations A map containing all expressions and their assigned types (which might be fresh unification variables). These will be added to the ? after the binding group is checked, so the value type of the Map. is chosen to be compatible with the type of .2Infer the types of multiple mutually-recursive values, and return elaborated values including type class dictionaries and type annotations.  This function breaks a binding group down into two sets of declarations: those which contain type annotations, and those which don't. This function also generates fresh unification variables for the types of declarations without type annotations, returned in the  UntypedData structure. >Check the type annotation of a typed value in a binding group. FInfer a type for a value in a binding group which lacks an annotation. 9Check the kind of a type, failing if it is not of kind *. yRemove any ForAlls and ConstrainedType constructors in a type by introducing new unknowns or TypeClassDictionary values.iThis is necessary during type checking to avoid unifying a polymorphic type with a unification variable. UInfer a type for a value, rethrowing any error to provide a more useful error message Infer a type for a value ;Infer the types of variables brought into scope by a binder Returns true if a binder requires its argument type to be a monotype. | If this is the case, we need to instantiate any polymorphic types before checking binders. 9Instantiate polytypes only when necessitated by a binder. LCheck the types of the return values in a set of binders in a case statement NCheck the type of a value, rethrowing errors to provide a better error message Check the type of a value 5Check the type of a collection of named record fieldsThe laxt parameter controls whether or not every record member has to be provided. For object updates, this is not the case. ^Check the type of a function application, rethrowing errors to provide a better error message.!This judgment takes three inputs:.The expression of the function we are applyingThe type of that function$The expression we are applying it toand synthesizes two outputs:The return typewThe elaborated expression for the function application (since we might need to insert type class dictionaries, etc.) (Check the type of a function application JEnsure a set of property names and value does not contain duplicate labels YThe identifier we are trying to define, along with the expression and its type annotation.Names brought into scope in this binding group The identifier we are trying to define, along with the expression and its assigned type (at this point, this should be a unification variable).Names brought into scope in this binding group The function expressionThe type of the functionThe argument expression(The result type, and the elaborated term/012/012   /01:None"#%+-3<>?FNQV]d6IReplace all top level type declarations in a module with type annotations66;None"#%+-3<>?FNQV]d 789:;<=>?@ 987:;<=>?@<None"#%+-3<>?FNQV]dAA=None"#%+-3<>?FNQV]dǝBB>None"#%+-3<>?FNQV]deCC?None"#%+-3<>?FNQV]d An operator associated with its declaration position, fixity, and the name of the function or data constructor it is an alias for.DARemoves unary negation operators and replaces them with calls to  .EERemove explicit parentheses and reorder binary operator applications.LThis pass requires name desugaring and export elaboration to have run first.F A version of E. which allows you to choose which declarations should be affected. This is used in docs generation, where we want to desugar type operators in instance declarations to ensure that instances are paired up with their types correctly, but we don't want to desugar type operators in value declarations.GChecks all the fixity exports within a module to ensure that members aliased by the operators are also exported from the module.LThis pass requires name desugaring and export elaboration to have run first.DEFGDEFG@None"#%+-3<>?FNQV]dHIHIANone"#%+-3<>?FNQV]d,JWhen updating the N the behaviour is slightly different depending on whether we are exporting values defined within the module or elaborating re-exported values. This type is used to indicate which behaviour should be used.M9The imports and exports for a collection of modules. The - is used to store the source location of the module with a given name, used to provide useful information when there is a duplicate module definition.N(The exported declarations from a module.PCThe exported types along with the module they originally came from.QMThe exported type operators along with the module they originally came from.REThe exported classes along with the module they originally came from.SDThe exported values along with the module they originally came from.TNThe exported value operators along with the module they originally came from.UCThe exported kinds along with the module they originally came from.VKThe imported declarations for a module, including the module's own members.XELocal names for types within a module mapped to their qualified namesYNLocal names for type operators within a module mapped to their qualified namesZQLocal names for data constructors within a module mapped to their qualified names[GLocal names for classes within a module mapped to their qualified names\FLocal names for values within a module mapped to their qualified names]OLocal names for value operators within a module mapped to their qualified names^zThe name of modules that have been imported into the current scope that can be re-exported. If a module is imported with as qualification, the as0 name appears here, otherwise the original name._<The "as" names of modules that have been imported qualified.`ELocal names for kinds within a module mapped to their qualified namesaUsed to track how an import was introduced into scope. This allows us to handle the one-open-import special case that allows a name conflict to become a warning rather than being an unresolvable situation.fJThe details for an import: the name of the thing that is being imported ( if importing from Az), the module that the thing was originally defined in (for re-export resolution), and the import provenance (see below).m An empty N value.n Extracts the - from an M value.o Extracts the V from an M value.p Extracts the N from an M value.qThe exported types from the Prim module The exported types from the  Prim.Ordering module The exported types from the Prim.Row module The exported types from the  Prim.RowList module The exported types from the  Prim.Symbol module The exported types from the Prim.TypeError module *Create a set of exports for a Prim module.r1Environment which only contains the Prim modules.sgSafely adds a type and its data constructors to some exports, returning an error if a conflict occurs.tVSafely adds a type operator to some exports, returning an error if a conflict occurs.uMSafely adds a class to some exports, returning an error if a conflict occurs.vMSafely adds a value to some exports, returning an error if a conflict occurs.wWSafely adds a value operator to some exports, returning an error if a conflict occurs.xLSafely adds a kind to some exports, returning an error if a conflict occurs. eAdds an entry to a list of exports unless it is already present, in which case an error is returned. IRaises an error for when there is more than one definition for something. DRaises an error for when there are conflicting names in the exports.yMGets the exports for a module, or raise an error if the module doesn't exist.zSWhen reading a value from the imports, check that there are no conflicts in scope.1JKLMNOPQRSTUVWXYZ[\]^_`aebcdfghijklmnopqrstuvwxyz1fghijkabcdeVWXYZ[\]^_`lNOPQRSTUmMrqnopJKLstuvwxyzJKLNOPQRSTUV WXYZ[\]^_`abcdefghijkBNone"#%+-3<>?FNQV]d|Finds the imports within a module, mapping the imported module name to an optional set of explicitly imported declarations.)Constructs a set of imports for a module.7Constructs a set of imports for a single module import. TExtends the local environment for a module by resolving an import of another module.CNone"#%+-3<>?FNQV]d~;Warns about duplicate values in a list of declaration refs.DNone"#%+-3<>?FNQV]d!LFinds all exportable members of a module, disregarding any explicit exports.Resolves the exports for a module, filtering out members that have not been exported and elaborating re-exports of other modules. ~Filters the full list of exportable values, types, and classes for a module based on a list of export declaration references.ENone"#%+-3<>?FNQV]d% Replace all DoNotationBind and DoNotationValueH constructors with applications of the bind function in scope, and all  DoNotationLet$ constructors with let expressions. Desugar a single do statementFNone"#%+-3<>?FNQV]d*@Replace all top-level binders in a module with case expressions. ]Desugar case with pattern guards and pattern clauses to a series of nested case expressions. 2Validates that case head and binder lengths match.4Replace all top-level binders with case expressions.GNone"#%+-3<>?FNQV]d-Add type synonym declarations for type class dictionary types, and value declarations for type class instance dictionary expressions.HNone"#%+-3<>?FNQV]d3_SReplace all sets of mutually-recursive declarations in a module with binding groupsBCollapse all binding groups in a module to individual declarations6Collapse all binding groups to individual declarations !oConvert a group of mutually-recursive dependencies into a BindingGroupDeclaration (or simple ValueDeclaration).INone"#%+-3<>?FNQV]d7 Replace all AdoNotationBind and AdoNotationValueS constructors with applications of the pure and apply functions in scope, and all AdoNotationLet$ constructors with let expressions. "Desugar a single ado statementJNone"#%+-3<>?FNQV]dA NParse a single declaration. May include a collection of instances in a chain.6Parse a module declaration and its export declarations6Parse a module header and a collection of declarations)Parse a collection of modules in parallel@Parses a single module with FilePath for eventual parsing errors Converts a  ParseError into a  #/Parse an expression in backticks or an operator $1Expressions including indexers and record updatesParse an expressionParse a binder<Parse a binder as it would appear in a top level declaration Parse a guard  None"#%+-3<>?FNQV]dB5n !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY_`abcdefghijklmnopqrstuv_`abcKNone"#%+-3<>?FNQV]dI4A list of modules with their transitive dependencies:Sort a collection of modules based on module dependencies.6Reports an error if the module graph contains a cycle. %OCalculate a list of used modules based on explicit imports and qualified names. &FConvert a strongly connected component of the module graph to a moduleLNone"#%+-3<>?FKNQTV]dOo A monad for running make actions Execute a P monad, returning either errors, or the result of the compile plus any warnings.Run an  ' action in the ; monad, by specifying how IO errors should be rendered as  values.Read a text file in the ( monad, capturing any errors using the  ( instance.MNone"#%+-3<>?FNQV]dVTMap of module name to list of imported names from that module which have been used.Find and warn on:3Unused import statements (qualified or unqualified),Unused references in an explicit import listImplicit imports of modulesoImplicit imports into a virtual module (unless the virtual module only has members from one module imported)Imports using hiding- (this is another form of implicit importing)  NNone"#%+-3<>?FNQV]deQReplaces all local names with qualified names within a list of modules. The modules should be topologically sorted beforehand. )Make all exports for a module explicit. This may still affect modules that have an exports list, as it will also make all data constructor exports explicit.The exports will appear in the same order as they do in the existing exports list, or if there is no export list, declarations are order based on their order of appearance in the module. *Given a list of declarations, an original exports list, and an elaborated exports list, reorder the elaborated list so that it matches the original order. If there is no original exports list, reorder declarations based on their order in the source file. +vReplaces all local names with qualified names within a module and checks that all existing qualified names are valid."MNOPQRSTUVWXYZ[\]^_`aebcdfghijkr"MrfghijkabcdeVWXYZ[\]^_`NOPQRSTUONone"#%+-3<>?FNQV]d ,8There are two modes of failure for the redundancy check: WExhaustivity was incomplete due to too many cases, so we couldn't determine redundancy.OWe didn't attempt to determine redundancy for a binder, e.g. an integer binder.+We want to warn the user in the first case. -RQualifies a propername from a given qualified propername and a default module name .Given an environment and a datatype or newtype name, this function returns the associated data constructors if it is the case of a datatype where: - ProperName is the name of the constructor (for example, NothingN in Maybe) - [Type] is the list of arguments, if it has (for example, Just has [TypeVar "a"]) /Replicates a wildcard binder 0BApplies a function over two lists of tuples that may lack elements 1Find the uncovered set between two binders: the first binder is the case we are trying to cover, the second one is the matching binder 2Returns the uncovered set of binders the first argument is the list of uncovered binders at step i the second argument is the (i+1)th clause of a pattern matching definitionZThe idea of the algorithm is as follows: it processes each binder of the two lists (say, x and yU) one by one at each step two cases arises: - there are no missing cases between x and y: this is very straightforward, it continues with the remaining cases but keeps the uncovered binder in its position. - there are missing cases, let us call it the set U5: on the one hand, we mix each new uncovered case in U with the current tail of uncovered set. On the other hand, it continues with the remaining cases: here we can use x. (but it will generate overlapping cases), or y,, which will generate non-overlapping cases.As an example, consider:wdata N = Z | S N f Z Z = Z --> {[S _, _], [Z, S _]} which are the right non-overlapping cases (GHC uses this). if we use x instead of y (in this case, y stands for Z and x for `_`i) we obtain: f Z Z = Z --> {[S _, _], [_, S _]} you can see that both cases overlaps each other. Up to now, we've decided to use x~ just because we expect to generate uncovered cases which might be redundant or not, but uncovered at least. If we use y instead, we'll need to have a redundancy checker (which ought to be available soon), or increase the complexity of the algorithm. 3Guard handling+We say a guard is exhaustive iff it has an  4 (or truep) expression. Example: f x | x < 0 = 0 | otherwise = 1 is exhaustive, whereas `f x | x < 0` is not;or in case of a pattern guard if the pattern is exhaustive.5The function below say whether or not a guard has an  4# expression It is considered that  4 is defined in Prelude 5.Returns the uncovered set of case alternatives 6eMain exhaustivity checking function Starting with the set `uncovered = { _ }` (nothing covered, one `_` for each function argument), it partitions that set with the new uncovered cases, until it consumes the whole set of clauses. Then, returns the uncovered set of case alternatives.Exhaustivity checking , 7 8PNone"#%+-3<>?FNQV]dTLint the PureScript AST. | | Right now, this pass only performs a shadowing check. QNone"#%+-3;<=>?FNQV]d 94Check that type synonyms are fully-applied in a type :'Type check all declarations in a moduleWAt this point, many declarations will have been desugared, but it is still necessary to)Kind-check all types and add them to the  Environment*Type-check all values and add them to the  Environment%Bring type class instances into scopeProcess module importsType check an entire module and ensure all types and classes defined within the module that are required by exported members are also exported. ;index of type class argument>  /012RNone"#%+-3<>?FNQV]d <When deriving an instance for a newtype, we must ensure that all superclass instances were derived in the same way. This data structure is used to ensure this property. =~A list of superclass constraints for each type class. Since type classes have not been desugared here, we need to track this. >>A list of newtype instances which were derived in this module. ?cExtract the name of the newtype appearing in the last type argument of a derived newtype instance.Note: since newtypes in newtype instances can only be applied to type arguments (no flexible instances allowed), we don't need to bother with unification when looking for matching superclass instances, which saves us a lot of work. Instead, we just match the newtype name.=Elaborates deriving instance declarations by code generation. @Takes a declaration, and if the declaration is a deriving TypeInstanceDeclaration, elaborates that into an instance declaration via code generation. < A = >SNone"#%+-3<>?FNQV]d,The desugaring pipeline proceeds as follows: $Remove signed literals in favour of negate applications3Desugar object literals with wildcards into lambdasDesugar operator sectionsDesugar do-notationDesugar ado-notationBDesugar top-level case declarations into explicit case expressionsPDesugar type declarations into value declarations with explicit type annotations'Qualify any unqualified names and types'Rebracket user-defined binary operators3Introduce type synonyms for type class dictionariesIGroup mutually recursive value and data declarations into binding groups.8 6DEFGHIMNOPQRSTUVWXYZ[\]^_`aebcdfghijkrTNone"#%+-36<>?FKNQV]dz A type representing a highly simplified version of PureScript code, intended for use in output formats like plain text or HTML.A single element in a rendered code fragment. The intention is to support multiple output formats. For example, plain text, or highlighted HTML.Any symbol which you might or might not want to link to, in any namespace (value, type, or kind). Note that this is not related to the kind called Symbol for type-level strings.This type is isomorphic to  B kG. It makes code a bit easier to read, as the meaning is more explicit. CbGiven a list of actions, attempt them all, returning the first success. If all the actions fail,  C returns the first argument. DpTry the given parsers in sequence. If all fail, fail with the given message, and include the JSON in the error. Convert a  B k to a !, using the obvious isomorphism. Convert a  to a  B k!, using the obvious isomorphism. A version of  fromMaybe for  values.%This function allows conversion of a  value into a value of some other type (for example, plain text, or HTML). The first argument is a function specifying how each individual  should be rendered.A  fragment representing a space.$Wrap a RenderedCode value in parens. EoConverts a FixityAlias into a different representation which is more useful to other functions in this module.// F GUNone"#%+-3<>?FNQV]d /Generate RenderedCode value representing a Kind  VNone"#%+-3<>?FNQV]dڳRender code representing a RowRender code representing a TypeGRender code representing a Type, as it should appear inside parentheses        None"#%+-3<>?FNQV]d:   WNone"#%+-3<>?FNQV]d/Data type for simplified JavaScript expressionsA numeric literalA string literalA boolean literalA unary operator applicationA binary operator applicationAn array literalAn array indexer expressionAn object literal8A function introduction (optional name, arguments, body) Function application!Variable" A block of expressions in braces#3A variable introduction and optional initialization$A variable assignment% While loop&For loop' ForIn loop(If-then-else statement)Return statement*%Return statement with no return value+Throw statement,instanceof check-Commented JavaScript.Built-in binary operatorsBBuilt-in unary operators8,+*)('&%$#!"- .A@?>=<9876543210/;:BFECGDHIJKLM8BCDEFG./0123456789:;<=>?@A !"#$%&'()*+,-HIJKLM !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGXNone"#%+-3<>?FNQV]dcTEliminate tail callsTTYNone"#%+-3<>?FNQV]d+ UVWXYZ[\]^_ UVWXYZ[\]^_ZNone"#%+-3<>?FNQV]dC`a`a[None"#%+-3<>?FNQV]dbCInline type class dictionaries for >>= and return for the Eff monadE.g.;Prelude[">>="](dict)(m1)(function(x) { return ...; })becomes-function __do { var x = m1(); ... }d!Inline functions in the ST modulebcdbcd\None"#%+-3<>?FNQV]dg efghijklm hijklmefg]None"#%+-3<>?FNQV]dwn@Collapse blocks which appear nested directly below another blocknono^None"#%+-3<>?FNQV]dOp@Apply a series of optimizer passes to simplified JavaScript codeppNone"#%+-3<>?FNQV]dU -"!#$%&'()*+,.:;/0123456789<=>?@ABDGCEFHIJKLMTUVWXYZ[\]^_`abcdefghijklmnop_None"#%+-3<>?FNQV]dq4Desugars a module from AST to CoreFn representation. HFind module names from qualified references to values. This is used to ensure instances are imported from any module that is referenced by the current module, not just from those that are imported explicitly (#667). I?Desugars import declarations from AST to CoreFn representation. J@Desugars foreign declarations from AST to CoreFn representation. KDesugars export declarations references from AST to CoreFn representation. CoreFn modules only export values, so all data constructors, class constructor, instances and values are flattened into one list. LMakes a typeclass dictionary constructor function. The returned expression is a function that accepts the superclass instances and member implementations and returns a record for the instance dictionary. M"Converts a ProperName to an Ident.qqNone"#%+-3<>?FNQV]dO<     defgq`None"#%+-3<>?FNQV]dC N$The state object used in this module ODA map from names bound (in the input) to their names (in the output) PDThe set of names which have been used and are in scope in the output QCRuns renaming starting with a list of idents for the initial scope. RbCreates a new renaming scope using the current as a basis. Used to backtrack when leaving an Abs. SqAdds a new scope entry for an ident. If the ident is already present, a new unique name is generated and stored. T'Finds the new name to use for an ident. U(Finds idents introduced by declarations.r,Renames within each declaration in a module. VPRenames within a declaration. isTopLevel is used to determine whether the declaration is a module member or appearing within a Let. At the top level declarations are not renamed or added to the scope (they should already have been added), whereas in a Let declarations are renamed if their name shadows another in the current scope. WRenames within a value. XRenames within literals. Y!Renames within case alternatives. ZRenames within binders.rr N [ O PaNone"#%+-3<>?FNQV]dssbNone"#%+-3<>?FNQV]dttcNone"#%+-3<>?FNQV]dPuiGenerate code in the simplified JavaScript intermediate representation for all declarations in a module.HLuuNone"#%+-3<>?FNQV]d\HLudNone"#%+-3<>?FNQV]d"|vrGenerate a pretty-printed string representing a collection of JavaScript expressions at the same indentation level \PGenerate an indented, pretty-printed string representing a JavaScript expressionvwwveNone"#%+-3<>?FNQV]d9xAActions that require implementations when running in "make" mode.-This type exists to make two things abstract:;The particular backend being used (JavaScript, C++11, etc.).The details of how files are read/written etc.zTGet the timestamp for the input file(s) for a module. If there are multiple files (.purs^ and foreign files, for example) the timestamp should be for the most recently modified file.{tGet the timestamp for the output files for a module. This should be the timestamp for the oldest modified file, or  2 if any of the required output files are missing.|]Read the externs file for a module as a string and also return the actual path for the file.}JRun the code generator for the module and write any required output files.~Respond to a progress update.#Generated code for an externs file.'Progress messages from the make process,Compilation started for the specified module#Determines when to rebuild a moduleNever rebuild this moduleAlways rebuild this module ]Render a progress messageKA set of make actions that read and write modules from the given directory. ^oCheck that the declarations in a given PureScript module match with those in its corresponding foreign module.the output directoryQa map between module names and paths to the file containing the PureScript moduleWa map between module name and the file containing the foreign javascript for the moduleGenerate a prefix comment?xy~z{|}xyz{|}~xyz{|}~fNone"#%+-3<>?FNQV]dHrThe BuildPlan tracks information about our build progress, and holds all prebuilt modules for incremental builds.Called when we finished compiling a module and want to report back the compilation result, as well as any potential errors that were thrown.GWhether or not the module with the given ModuleName needs to be rebuiltwCollects errors for all modules that have been rebuilt. This will block until all outstanding build jobs are finished.nCollects ExternsFiles for all prebuilt as well as rebuilt modules. Panics if any build job returned an error.Gets the the build result for a given module name independent of whether it was rebuilt or prebuilt. Prebuilt modules always return no warnings.2Constructs a BuildPlan for the given module graph.vThe given MakeActions are used to collect various timestamps in order to determine whether a module needs rebuilding. _ ` a b c d e f g h igNone"#%+-3<>?FNQV]dQRebuild a single module.QThis function is used for fast-rebuild workflows (PSCi and psc-ide are examples).?Compiles in "make" mode, compiling each module separately to a .js file and an  externs.json file.If timestamps have not changed, the externs file can be used to provide the module's types without having to typecheck the module again.ZInfer the module name for a module by looking for the same filename with a .js extension.xy~z{|}hNone"#%+-3<>?FNQV]dR. %&'-.10/23456789:;JKLMNQOPRSTijklmrnopqstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY_`abcdefghijklmnopqrstuv      !"#$%&'()*+,-./0123456789:;<=>_`abchijklpmnoqrst     J !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   -./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx /0126DEFGHIMNOPQRSTUVWXYZ[\]^_`aebcdfghijkrrxy~z{|}iNone"#%+-3<>?FNQV]dyValid Meta-commands for PSCIA purescript expression&Show the help (ie, list of directives)"Import a module from a loaded fileBrowse a module Exit PSCI+Reload all the imported modules of the REPLClear the state of the REPL7Add some declarations to the current evaluation contextFind the type of an expressionFind the kind of an expression5Shows information about the current state of the REPLPaste multiple lines-Return auto-completion output as if pressing tabOAll of the data that is contained by an ImportDeclaration in the AST. That is:=A module name, the name of the module which is being importedpAn ImportDeclarationType which specifies whether there is an explicit import list, a hiding list, or neither.gIf the module is imported qualified, its qualified name in the importing module. Otherwise, Nothing.The PSCI state.Holds a list of imported modules, loaded files, and partial let bindings. The let bindings are partial, because it makes more sense to apply the binding to the final evaluated expression.The last two fields are derived from the first three via updateImportExports each time a module is imported, a let binding is added, or the session is cleared or reloadedThe PSCI configuration.:These configuration values do not change during execution.1Updates the imported modules in the state record.5Updates the loaded externs files in the state record.-Updates the let bindings in the state record.A list of all ReplQuery values.00   jjNone"#%+-3<>?FNQV]d !List of all avaliable directives.RA mapping of directives to the different strings that can be used to invoke them.0Like directiveStrings, but the other way around.List of all directive strings.;Returns all possible string representations of a directive.9Returns the default string representation of a directive.~Returns the list of directives which could be expanded from the string argument, together with the string alias that matched.?True if the given directive takes an argument, false otherwise.The help menu.  kNone"#%+-3<>?FNQV]d7 The guide URLThe help message.The welcome prologue.The quit message.lNone"#%+-3<>?FNQV]d"Pretty print a module's signaturesmNone"#%+-3<>?FNQV]d5Parses a limited set of commands from from .purs-repl<Parses PSCI metacommands or expressions input from the user. k,Parses expressions entered at the PSCI repl. leImports must be handled separately from other declarations, so that :show import works, for example. m[Any declaration that we don't need a 'special case' parser for (like import declarations). nTo show error message when 'let'7 is used for declaration in PSCI, which is deprecated.nNone"#%+-3<>?FNQV]dF-Loads module, function, and file completions. oCallback for Haskeline's  pZ. Expects: * Line contents to the left of the word, reversed * Word to be completedIConvert Haskeline completion result to results as they would be displayed qDecide what kind of completion we need based on input. This function expects a list of complete words (to the left of the cursor) as the first argument, and the current word as the second argument. r s t u v w xoNone"#%+-3<>?FNQV]dKpNone"#%+-3<>?FNQV]d     ./"     ((**,,00./     qNone"#%+-3568<>?FNQV]dA name tagged with a namespaceDDenotes the different namespaces a name in PureScript can reside in.+A completion as it gets sent to the editorsIdeVolatileState is derived from the  IdeFileState@ and needs to be invalidated and refreshed carefully. It holds AstData, which is the data we extract from the parsed ASTs, as well as the IdeDeclarations, which contain lots of denormalized data, so they need to fully rebuilt whenever  IdeFileState changes. The vsCachedRebuild field can hold a rebuild result with open imports which is used to provide completions for module private declarations IdeFileStateV holds data that corresponds 1-to-1 to an entity on the filesystem. Externs correspond to the ExternsFiles the compiler emits into the output folder, and modules are parsed ASTs from source files. This means, that we can update single modules or ExternsFiles inside this state whenever the corresponding entity changes on the file system. gSourceSpans for the definition sites of values and types as well as type annotations found in a module23876549:?>=<;@AEDCBFGJIHKLONMPQTSRUVYXWZ[]\^fedcba`_gh                 hg^_`abcdefZ[\]UVWXYPQRSTKLMNOFGHIJ@ABCDE9:;<=>?2345678                   23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef          rNone"#%+-3<>?FNQV]d 6 6sNone"#%+-3<>?FNQUV]d 7 8 9 : 7 9 : 8tNone"#%+-3<>?FKNQV]d ; < = > @ F ? A B C D E G ; < = > ? @ A B C D E F G ; < = > ? @ A B C D E FuNone"#%+-3<>?FNQV]d% P U S Q R T V W P Q R S T U V W P Q R S T U VvNone"#%+-3<>?FNQUV]dJ Z [ Z [ y z {wNone"#%+-36<>?FNQV]dY ]+A link to a declaration in the same module. ^A link to a declaration in a different module, but still in the current package; we need to store the current module and the other declaration's module. _A link to a declaration in a different package. We store: current module name, name of the other package, version of the other package, and name of the module in the other package that the declaration is in. `A link to a declaration that is built in to the compiler, e.g. the Prim module. In this case we only need to store the module that the builtin comes from. Note that all builtin modules begin with PrimS, and that the compiler rejects attempts to define modules whose names start with Prim. r`Minimum allowable version for generating data with the current parser, and actual version used. @A type instance declaration, with its dependencies and its type. ,A data constructor, with its type arguments. A type class member, with its type. Note that the type does not include the type class constraint; this may be added manually if desired. For example,  | from  } would be `forall a. a -> f a`. A value of this type contains information that is specific to a particular kind of declaration (as opposed to information which exists in all kinds of declarations, which goes into the   type directly).Many of the constructors are very similar to their equivalents in the real PureScript AST, except that they have their name elided, since this is already available via the rdTitle field of  . #A value declaration, with its type. A data/newtype declaration, with the kind of declaration (data or newtype) and its type arguments. Constructors are represented as child declarations. *A data type foreign import, with its kind. 5A type synonym, with its type arguments and its type. A type class, with its type arguments, its superclasses and functional dependencies. Instances and members are represented as child declarations. [An operator alias declaration, with the member the alias is for and the operator's fixity. A kind declaration The version of the PureScript compiler which was used to generate this data. We store this in order to reject packages which are too old. The time format used for serializing package tag times in the JSON format. This is the ISO 8601 date format which includes a time and a timezone. RConvenience function for formatting a time in the format expected by this module. OConvenience function for parsing a time in the format expected by this module. >Discard any children which do not satisfy the given predicate. Given a links context, the current module name, the namespace of a thing to link to, its title, and its containing module, attempt to create a DocLink. Given a function for turning association list keys into JSON object keys, and a function for turning association list values to JSON string values, turns an association list into a JSON object.For example: *assocListToJSON T.pack T.pack [("a", "b")] will give  {"a": "b"}. \ ] ^ _ ` 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 { | } ~   ~  { | } q r s t u v w x y z  n o p   f g h i j k l m a b c d e \ ] ^ _ `     \ ] ^ _ ` 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 { | } ~        xNone"#%+-3<>?FNQV]d K6An error that probably indicates a bug in this module. R*An error that should be fixed by the user. dRAn error which meant that it was not possible to retrieve metadata for a package.( 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 g f h i j k l( d e f g ^ _ ` a b c R S T U V W X Y Z [ \ ] K L M E F G N O P Q H I J h i j l k ~  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 gyNone"#%+-3<>?FNQV]d[ x y z x z yzNone"#%+-3<>?FNQV]d3 { | } ~  { | } ~  {None"#%+-3<>?FNQV]d lLookup the TypeClassData of a Prim class. This function is specifically not exported because it is partial.  |None"#%+-3<>?FNQV]dC ESome data which will be used to augment a Declaration in the output.oThe AugmentChild constructor allows us to move all children under their respective parents. It is only necessary for type instance declarations, since they appear at the top level in the AST, and since they might need to appear as children in two places (for example, if a data type defined in a module is an instance of a type class also defined in that module). OThe data type for an intermediate stage which we go through during converting.In the first pass, we take all top level declarations in the module, and collect other information which will later be used to augment the top level declarations. These two situation correspond to the Right and Left constructors, respectively.In the second pass, we go over all of the Left values and augment the relevant declarations, leaving only the augmented Right values.qNote that in the Left case, we provide a [Text] as well as augment information. The [Text] value should be a list of titles of declarations that the augmentation should apply to. For example, for a type instance declaration, that would be any types or type classes mentioned in the instance. For a fixity declaration, it would be just the relevant operator's name. %Different declarations we can augment &Augment documentation for a type class ,Augment documentation for a type constructor oConvert a single Module, but ignore re-exports; any re-exported types or values will not appear in the result. Augment top-level declarations; the second pass. See the comments under the type synonym IntermediateDeclaration for more information. !Create a basic Declaration value.     }None"#%+-3<>?FNQV]dK An intermediate data type, used for either moving type class members under their parent type classes, or promoting them to normal Declaration values if their parent type class has not been re-exported. Type class members which have not yet been dealt with. The Text is the name of the type class they belong to, and the constraint is used to make sure that they have the correct type if they get promoted. A list of normal value declarations. Type class members will be added to this list if their parent type class is not available. rA list of type class declarations. Type class members will be added to their parents in this list, if they exist. Given:The Imports/Exports Env<An order to traverse the modules (which must be topological)iA map of modules, indexed by their names, which are assumed to not have their re-exports listed yet.This function adds all the missing re-exports. @Collect all of the re-exported declarations for a single module.We require that modules have already been sorted (P.sortModules) in order to ensure that by the time we convert a particular module, all its dependencies have already been converted. Assemble a list of declarations re-exported from a particular module, based on the Imports and Exports value for that module, and by extracting the declarations from the current state.This function works by searching through the lists of exported declarations in the Exports, and looking them up in the associated Imports value to find the module they were imported from. Additionally:Attempts to move re-exported type class members under their parent type classes, if possible, or otherwise, "promote" them from ChildDeclarations to proper Declarations.]Filters data declarations to ensure that only re-exported data constructors are listed.dFilters type class declarations to ensure that only re-exported type class members are listed. Given a list of imported declarations (of a particular kind, ie. type, data, class, value, etc), and the name of an exported declaration of the same kind, together with the module it was originally defined in, return a tuple of:the module that exported declaration was imported from (note that this can be different from the module it was originally defined in, if it is a re-export),that same declaration's name.XThis function uses a type variable for names because we want to be able to instantiate name as both } and s. Extract a particular type declaration. For data declarations, constructors are only included in the output if they are listed in the arguments. {Get the full list of declarations for a particular module out of the state, or raise an internal error if it is not there. Take a TypeClassEnv and handle all of the type class members in it, either adding them to their parent classes, or promoting them to normal Declaration values.*Returns a tuple of (values, type classes). Given a list of exported constructor names, remove any data constructor names in the provided Map of declarations which are not in the list. Given a list of exported type class member names, remove any data type class member names in the provided Map of declarations which are not in the list. If the provided Declaration is a TypeClassDeclaration, construct an appropriate Constraint for use with the types of its members.    ~None"#%+-3<>?FNQV]da NLike convertModuleInPackage, but with the modules tagged by their file paths. Like convertModules, except that it takes a list of modules, together with their dependency status, and discards dependency modules in the resulting documentation. bConvert a group of modules to the intermediate format, designed for producing documentation from.Note that the whole module dependency graph must be included in the list; if some modules import things from other modules, then those modules must also be included.For value declarations, if explicit type signatures are omitted, or a wildcard type is used, then we typecheck the modules and use the inferred types. wConvert a sorted list of modules, returning both the list of converted modules and the Env produced during desugaring. If any exported value declarations have either wildcard type signatures, or none at all, then typecheck in order to fill them in with the inferred types. <Typechecks all the modules together. Also returns the final _, which is useful for adding in inferred types where explicit declarations were not provided. tUpdates all the types of the ValueDeclarations inside the module based on their types inside the given Environment. cPartially desugar modules so that they are suitable for extracting documentation information from.  None"#%+-3<>?FNQV]dc aTake a list of modules and render them all in order, returning a single Markdown-formatted Text.    None"#%+-3<>?FNQV]dgB AAn HtmlRenderContext for when you don't want to render any links. QRender Markdown to HTML. Safe for untrusted input. Relative links are | removed.      None"#%+-3<>?FNQV]dj lUnfortunately ByteString's readFile does not convert line endings on Windows, so we have to do it ourselves  None"#%+-3<>?FNQV]dq #The name of the PSCI support module 'Checks if the Console module is defined "Loads a file for use with imports. Load all modules. :Makes a volatile module to execute the current expression. iMakes a volatile module to hold a non-qualified type synonym for a fully-qualified data type declaration. 7Makes a volatile module to execute the current imports. None"#%+-3<>?FNQV]d Pretty-print errors &This is different than the runMake in hD in that it specifies the options and ignores the warning messages. ARebuild a module, using the cached externs data for dependencies. NBuild the collection of modules from scratch. This is usually done on startup. Performs a PSCi command Reload the application state Clear the application state ATakes a value expression and evaluates it with the current state. Takes a list of declarations and updates the environment, then run a make. If the declaration fails, restore the original environment. #Show actual loaded modules in psci. "Show the imported modules in psci. :Imports a module, preserving the initial state on failure. !Takes a value and prints its type  Takes a type and prints its kind *Browse a module and displays its signature PReturn output as would be returned by tab completion, for tools integration etc.  evaluate JSreloadprint into consoleOgh  None"#%+-3<>?FNQV]d 7 8 9 : None"#%+-3<>?FNQV]d -Extracts AST information from a parsed module ;Extracts type annotations for functions from a given Module uGiven a surrounding Sourcespan and a Declaration from the PS AST, extracts definition sites inside that Declaration. %The declaration to extract spans from'Declarations and their source locations  None"#%+-36<>?FNQV]d BContains the module with resolved reexports, and possible failures TUses the passed formatter to format the resolved module, and adds possible failures %Whether any Refs couldn't be resolved qResolves Reexports for the given Modules, by looking up the reexported values from the passed in DeclarationRefs !Formatter for the resolved resultThe Result to be pretty printed the references to resolve1Modules to search for the reexported declarations    None"#$%+-3<>?FNQUV]d Resets all State inside psc-ide Gets the loaded Modulenames Gets all loaded ExternFiles (Insert a Module into Stage1 of the State STM version of insertModule \Retrieves the FileState from the State. This includes loaded Externfiles and parsed Modules STM version of getFileState hRetrieves VolatileState from the State. This includes the denormalized Declarations and cached rebuilds STM version of getVolatileState )Sets the VolatileState inside Ide's state Checks if the given ModuleName matches the last rebuild cache and if it does returns all loaded definitions + the definitions inside the rebuild cache Adds an ExternsFile into psc-ide's FileState. This does not populate the VolatileState, which needs to be done after all the necessary Externs and SourceFiles have been loaded. STM version of insertExterns +Sets rebuild cache to the given ExternsFile Retrieves the rebuild cache OResolves reexports and populates VolatileState with data to be used in queries. $STM version of populateVolatileState RLooks up the types and kinds for operators and assigns them to their declarations  None"#%+-3<>?FNQUV]d$ kReloads an ExternsFile from Disc. If the Event indicates the ExternsFile was deleted we don't do anything. `Installs filewatchers for the given directory and reloads ExternsFiles when they change on disc  None"#%+-3<>?FNQV]d A declaration can either be imported qualified, or unqualified. All the information we need to find usages through a Traversal is thus captured in the   type. MHow we find usages, given an IdeDeclaration and the module it was defined in: 4Find all modules that reexport the given declarationFind all modules that import from those modules, and while traversing the imports build a specification for how the identifier can be found in the module.AApply the collected search specifications and collect the results GDetermines whether an IdeDeclaration is referenced by a DeclarationRef.TODO(Christoph): We should also extract the spans of matching refs here, since they also count as a usage (at least for rename refactorings) Finds all usages for a given   throughout a module RThe declaration and the module it is defined in for which we are searching usages7Our declaration cache. Needs to have reexports resolvedYAll the modules that reexport the declaration. This does NOT include the defining module  None"#%+-3<>?FNQV]dt /Constructs Patterns to insert into a sourcefile  Current lineBegin of the splitEnd of the split%Whether to explicitly type the splitsConstructors to split        None"#%+-3<>?FNQUV]dt ,Parameters we can access while building our  MakeActions .Given a filepath performs the following steps:7Reads and parses a PureScript module from the filepath.VBuilds a dependency graph for the parsed module from the already loaded ExternsFiles.Attempts to find an FFI definition file for the module by looking for a file with the same filepath except for a .js extension.$Passes all the created artifacts to  rebuildModule.&If the rebuilding succeeds, returns a RebuildSuccessB with the generated warnings, and if rebuilding fails, returns a  RebuildError with the generated errors. dRebuilds a module but opens up its export list first and stores the result inside the rebuild cache Builds the default  MakeActions from a MakeActionsEnv -Shuts the compiler up about progress messages ZStops any kind of codegen (also silences errors about missing or unused FFI files though) Returns a topologically sorted list of dependent ExternsFiles for the given module. Throws an error if there is a cyclic dependency within the ExternsFiles Removes a modules export list. The file to rebuild6The file to use as the location for parsing and errors/A runner for the second build with open exports        None"#%+-3;<=>?FKNQV]dI =Matches any occurence of the search string with intersectionsThe scoring measures how far the matches span the string where closer is better. Examples: flMa matches flexMatcher. Score: 14.28 sons matches sortCompletions. Score: 6.25       None"#%+-3<>?FKNQV]d .Only keeps Identifiers in the given Namespaces Only keeps the given Modules 7Only keeps Identifiers that start with the given prefix :Only keeps Identifiers that are equal to the search string 5Only keeps Identifiers in the given type declarations            None"#%+-3<>?FNQV]d7 Applies the CompletionFilters and the Matcher to the given Modules and sorts the found Completions according to the Matching Score                           None"#%+-3<>?FNQV]di* $ ' % & ( + * ) , 8 7 3 2 . - 6 4 1 : 5 0 9 / K J I H G F E D C B A @ ? > = < ; L M- , - . / 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 $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K LNone"#%+-3<>?FNQV]dY  ImportParseD holds the data we extract out of a partial parse of the sourcefile the module name we parse dthe beginning of the import section. If `import Prelude` was the first import, this would point at i the end of the import section !the extracted import declarations UReads a file and returns the parsed module name as well as the parsed imports, while ignoring eventual parse errors that aren't relevant to the import section bReads a file and returns the (lines before the imports, the imports, the lines after the imports) WAdds an implicit import like import Prelude to a Sourcefile. YAdds a qualified import like import Data.Map as Map to a source file. Adds an explicit import like import Prelude (unit){ to a Sourcefile. If an explicit import already exists for the given module, it adds the identifier to that imports list.So &addExplicitImport "/File.purs" "bind" Prelude with an already existing import Prelude (bind) in the file File.purs returns  ["import Prelude (bind, unit)"] \>Looks up the given identifier in the currently loaded modules.2Throws an error if the identifier cannot be found.KIf exactly one match is found, adds an explicit import to the importsectionaIf more than one possible imports are found, reports the possibilities as a list of completions. _Writes a list of lines to  Just filepath and responds with a  TextResult, or returns the lines as a MultilineTextResult if Nothing" was given as the first argument. `Test and ghci helper WThe source file read fromThe module to import YThe sourcefile read fromThe module to import#The qualifier under which to import \The Sourcefile to read fromThe identifier to import,The optional qualifier under which to import4Filters to apply before searching for the identifier S T U V W X Y Z [ \ ] ^ _ ` W Y \ _ U ` ^ X Z [ V ] S T  S TNone"#%+-3<>?FNQUV]d ceAccepts a Commmand and runs it against psc-ide's State. This is the main entry point for the server. dFinds all the externs.json files inside the output folder and returns the corresponding Modulenames <Finds all matches for the globs specified at the commandline Looks up the ExternsFiles for the given Modulenames and loads them into the server state. Then proceeds to parse all the specified sourcefiles and inserts their ASTs into the state. Finally kicks off an async worker, which populates the VolatileState. c cNone"#%+-3<>?FNQV]d <Specifies whether a PureScript source file is considered as: 1) with the  od constructor, a target source file, i.e., we want to see its modules in the output 2) with the  p constructor, a dependencies source file, i.e. we do not want its modules in the output; it is there to enable desugaring, and to ensure that links between modules are constructed correctly. dGiven:A list of local source filesZA list of source files from external dependencies, together with their package names!This function does the following:2Parse all of the input and dependency source filesmAssociate each dependency module with its package name, thereby distinguishing these from local modulesReturn the paths paired with parsed modules, and a Map of module names to package names for modules which come from dependencies. If a module does not exist in the map, it can safely be assumed to be local. d dNone"#%+-3<>?FNQV]dbcde    \ ] ^ _ ` 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 { | } ~  x y z { | } ~  dNone"#%+-3<>?FKNQV]d+F .Listed in package manifest, but not installed. 6In the resolutions file, there was no _resolution key. Resolved, but to something other than a version. The Text argument is the resolution type. The values it can take that I'm aware of are "commit" and "branch". OResolved to a version. The Text argument is the resolution tag (eg, "v0.1.0"). hWHow to obtain the version tag and version that the data being generated will refer to. j)What to do when the working tree is dirty l~Attempt to retrieve package metadata from the current directory. Calls exitFailure if no package metadata could be retrieved. mcAttempt to retrieve package metadata from the current directory. Returns a PackageError on failure -Given a git tag, get the time it was created. 5Check if a string is a valid SPDX license expression. Extracts all dependencies and their versions from a "resolutions" file, which is based on the output of `bower list --json --offline` EExtracts only the top level dependency names from a resolutions file. e f g h i j k l m n o p q r s t u v w x y m s l e n o p q r f g h i j k u v w x t y   e f g h i j                                      ! " # $ % & ' ( ) * + , - . / 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 yz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rA      !"#$%&'()*+,-./01234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h h i j k l m n o p q r s t u v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!@!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""###$%}%~%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&& & & & & &&&&&&&&'''''''''''''''''' '!'"''r'#'$'%'''&''''''(''')''*'+','-'.'/'0'1'2'3'3''4'5'6'7'8'9':';';'<'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'L'M'N'O'P'Q'R'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+i++j+j+k+k+l+l+m+n+o++p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++,----------.../////////////////////////////////////////////////////////////////////////////000000000000000000000000000000000000000000000000000 0 0 0 0 00000000000000000000 0!0"0#0$1%1&1&1'1(1)1*1+1,1-1.1/1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R2S2T2U3V3W3X3Y3Z3[4\4]4^4_4`4a4b4c4d4e5f6g6h6i6j7k7k7l7m7n7o7p7q7r7s7t7u7v7w7x8y9z9{9|9}9~99:;;;;;;;;;;<=>????@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBCDDEFFFGGGHHHHIJJJJJJJJJJJJJKKLLLLLLLLLLLLLLLMMNNOPQQRRRSTTTTTT T TT T T TTTTTTTTTTTTTTTTTTTTT T!T"T#T$T%T&T'T(T)T*T+T,T-T.T/T0T1T2T3T4T5T6T7T8T9T:T;T<T=T>T?T@TATBTCTDTETFTGTHTIUJVKVKVLVMVNVOVPVQVRVSWTWsWtWvWUWVWwWWWxWXWWWYWZW[W\W]W^W_W`WaWbWcWWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzW{W|W}WW~WWWWWWWWWWXYYYYYYYYYYYZZ[[[\\\\\\\\\]]^_`abcddeeeeeeeeeeeeeeeeeeeefffffffggghiiiiiii!ibiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjj j k k k kkkllmmnnnnnnooooooooo o!o"o"o#o$o4oo%o&o'o(o)o*o+o,o-o.o/o0o1p2p2p3p4p5p5p6p7pp8p9pp:p;ppp<p=p>p>p?p@pApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUqVqVqWqXqYqZq[q\q\q]q^q_q`qaqbqbqcqdqeqfqgqgqhqiqjqkqkqlqmqnqoqoqpqqqrqsqsqtquqvqwqwqxqyqzq{q|q}q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q !q "q #q $q %q &q 'q (q )q *q +q ,q -q .q /q 0q 1q 2q 3q 4q 5q 6q 7q 8q 9q :q ;q <q =q >q ?q @q Aq Bq Cq Dq Eq Fr Gss Hs Is Jtztzt Kt Lt Mt!t Nt Ot Pt Qt Rtbt St Tt Ut Vt Wt Xtttu Yu Zu [uu \u ]u ^u _u `u av bv cw dw ew fw gw hw iw iw jw kw lw mw mw nw ow pw qw rw sw tww uw vw ww xw yw zw {w |w }w ~w w w w w w w w w w w w w w w w w w wBw>wFw@wJw wGw=w=w w ww w www w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w wIw w w w w w w w w w w w w w w w !w "w #w $ww %w &w 'w (w )w *w +w ,w -w .w /w 0w 1w 2w 3w 4w 5w 6w 7x 8x 9x :x ;x <x =x >x5x ?x @x Ax Bx Cx Dx Ex Fx Gx Hx Ix Jx Kx Lx Mx Nx Ox Px Qx Rx Sx Tx Ux vx Dx >x 8x Vx Wx Xx Yx Zx [x \x ]x ^x _x `x ax x bx cx dy ey fy gz hz iz jz kz lz mz nz oz pz qz rz sz t{={ u{ v{ w| x| y} z} {} |~ }~ ~~ ~ ~                                      !        y         ! " # $ % & ' ( ) * + , - . / 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 { | } ~ ut  ` a $  && & & & & & & && & && & & & & & & ) ) ) ) ) * - - - - - . . 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7%8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ? ` A A A A A A A A A B D E F F H I J J K K   N N N O O O O O O O O  ` a O O O O%Q Q Q R R R R R R ` a T T T T T _ _ _ _ _ _ ` ` ` ` ` ` ` !` "` #` $` %` &` '` d (e )e *f +f +f ,f -f .f .f /f 0ff 1f 2im 3m 4m 5m 6n 7 8 9 :n ;n <n =n >n ?n @n An Bv Cv Dv E ` a F ` a Gx Hx Hx Ix Jx Kx Lx M{ N| O| P| Q| R| Q| S| T| U} V} W} X} Y} Z} [} \} ]} ^} _} } `} a} V~ b~ c~ d~ e~ f g g h i j k l m n o p q r s t u v w x y z { | }  ~   ~                 > (purescript-0.12.0-GnFPE64AyqYHZk4VD04uBy(Language.PureScript.Publish.BoxesHelpersControl.Monad.LoggerControl.Monad.SupplyControl.Monad.Supply.ClassLanguage.PureScript.Comments!Language.PureScript.AST.SourcePosLanguage.PureScript.Crash!Language.PureScript.AST.OperatorsLanguage.PureScript.Docs.Css+Language.PureScript.Docs.Utils.MonoidExtras"Language.PureScript.Interactive.IOLanguage.PureScript.NamesLanguage.PureScript.CoreFn.Meta%Language.PureScript.CodeGen.JS.CommonLanguage.PureScript.OptionsLanguage.PureScript.PSStringLanguage.PureScript.LabelLanguage.PureScript.ConstantsLanguage.PureScript.Kinds Language.PureScript.AST.Literals"Language.PureScript.CoreFn.BindersLanguage.PureScript.CoreFn.Expr%Language.PureScript.CoreFn.Traversals!Language.PureScript.CoreFn.Module Language.PureScript.Parser.State Language.PureScript.Parser.Lexer!Language.PureScript.Parser.Common Language.PureScript.Parser.Kinds!Language.PureScript.Publish.UtilsLanguage.PureScript.TraversalsLanguage.PureScript.Types)Language.PureScript.TypeClassDictionariesLanguage.PureScript.Environment Language.PureScript.Parser.TypesLanguage.PureScript.CoreFn.Ann$Language.PureScript.CoreFn.OptimizerLanguage.PureScript.AST.BindersLanguage.PureScript.Bundle$Language.PureScript.AST.Declarations"Language.PureScript.AST.Traversals Language.PureScript.AST.Exported$Language.PureScript.Sugar.LetPattern!Language.PureScript.Pretty.Common Language.PureScript.Pretty.Kinds Language.PureScript.Pretty.Types!Language.PureScript.Pretty.ValuesLanguage.PureScript.ExternsLanguage.PureScript.Errors%Language.PureScript.TypeChecker.Monad(Language.PureScript.TypeChecker.Synonyms'Language.PureScript.TypeChecker.Skolems%Language.PureScript.TypeChecker.Unify+Language.PureScript.TypeChecker.Subsumption%Language.PureScript.TypeChecker.Kinds*Language.PureScript.TypeChecker.Entailment*Language.PureScript.TypeChecker.TypeSearch%Language.PureScript.TypeChecker.Types*Language.PureScript.Sugar.TypeDeclarations*Language.PureScript.Sugar.Operators.Common)Language.PureScript.Sugar.Operators.Types(Language.PureScript.Sugar.Operators.Expr+Language.PureScript.Sugar.Operators.Binders#Language.PureScript.Sugar.Operators)Language.PureScript.Sugar.ObjectWildcards#Language.PureScript.Sugar.Names.Env'Language.PureScript.Sugar.Names.Imports&Language.PureScript.Sugar.Names.Common'Language.PureScript.Sugar.Names.Exports$Language.PureScript.Sugar.DoNotation*Language.PureScript.Sugar.CaseDeclarations%Language.PureScript.Sugar.TypeClasses'Language.PureScript.Sugar.BindingGroups%Language.PureScript.Sugar.AdoNotation'Language.PureScript.Parser.Declarations&Language.PureScript.ModuleDependenciesLanguage.PureScript.Make.Monad"Language.PureScript.Linter.ImportsLanguage.PureScript.Sugar.Names%Language.PureScript.Linter.ExhaustiveLanguage.PureScript.LinterLanguage.PureScript.TypeChecker.Language.PureScript.Sugar.TypeClasses.DerivingLanguage.PureScript.Sugar+Language.PureScript.Docs.RenderedCode.Types0Language.PureScript.Docs.RenderedCode.RenderKind0Language.PureScript.Docs.RenderedCode.RenderTypeLanguage.PureScript.CoreImp.AST)Language.PureScript.CoreImp.Optimizer.TCO,Language.PureScript.CoreImp.Optimizer.Common,Language.PureScript.CoreImp.Optimizer.Unused-Language.PureScript.CoreImp.Optimizer.MagicDo-Language.PureScript.CoreImp.Optimizer.Inliner,Language.PureScript.CoreImp.Optimizer.Blocks%Language.PureScript.CoreImp.Optimizer"Language.PureScript.CoreFn.DesugarLanguage.PureScript.Renamer!Language.PureScript.CoreFn.ToJSON#Language.PureScript.CoreFn.FromJSONLanguage.PureScript.CodeGen.JS&Language.PureScript.CodeGen.JS.Printer Language.PureScript.Make.Actions"Language.PureScript.Make.BuildPlanLanguage.PureScript.MakeLanguage.PureScript%Language.PureScript.Interactive.Types)Language.PureScript.Interactive.Directive'Language.PureScript.Interactive.Message'Language.PureScript.Interactive.Printer&Language.PureScript.Interactive.Parser*Language.PureScript.Interactive.CompletionLanguage.PureScript.HierarchyLanguage.PureScript.Errors.JSONLanguage.PureScript.Ide.TypesLanguage.PureScript.Ide.PrimLanguage.PureScript.Ide.Logging*Language.PureScript.Ide.Filter.DeclarationLanguage.PureScript.Ide.ErrorLanguage.PureScript.Ide.ExternsLanguage.PureScript.Docs.Types*Language.PureScript.Publish.ErrorsWarningsLanguage.PureScript.Docs.TagsLanguage.PureScript.Docs.RenderLanguage.PureScript.Docs.Prim'Language.PureScript.Docs.Convert.Single*Language.PureScript.Docs.Convert.ReExports Language.PureScript.Docs.Convert#Language.PureScript.Docs.AsMarkdownLanguage.PureScript.Docs.AsHtmlSystem.IO.UTF8&Language.PureScript.Interactive.ModuleLanguage.PureScript.InteractiveLanguage.PureScript.Ide.Util"Language.PureScript.Ide.SourceFile!Language.PureScript.Ide.ReexportsLanguage.PureScript.Ide.StateLanguage.PureScript.Ide.WatcherLanguage.PureScript.Ide.Usage!Language.PureScript.Ide.CaseSplitLanguage.PureScript.Ide.RebuildLanguage.PureScript.Ide.MatcherLanguage.PureScript.Ide.Filter"Language.PureScript.Ide.CompletionLanguage.PureScript.Ide.CommandLanguage.PureScript.Ide.ImportsLanguage.PureScript.Ide'Language.PureScript.Docs.ParseInPackageLanguage.PureScript.PublishPaths_purescriptdesugarImportsLanguage.PureScript.ASTLanguage.PureScript.PrettyText.Parsec.ErrorshowErrorMessagesAxLanguage.PureScript.Parser%Language.PureScript.Docs.RenderedCodeLanguage.PureScript.CoreImpLanguage.PureScript.CoreFnLanguage.PureScript.CodeGenMakeLanguage.PureScript.Docs"boxes-0.1.5-D8az71hWZwFFgrX9eAD4PtText.PrettyPrint.BoxesnullBoxBoxLogger runLogger runLogger'$fMonadBaseControlIOLogger$fMonadBaseIOLogger$fMonadWriterwLogger$fMonadIOLogger $fMonadLogger$fApplicativeLogger$fFunctorLoggerSupplySupplyT unSupplyT runSupplyT evalSupplyT runSupply evalSupply$fFunctorSupplyT$fApplicativeSupplyT$fMonadSupplyT$fMonadTransSupplyT$fMonadErrorSupplyT$fMonadWriterSupplyT$fMonadReaderSupplyT$fAlternativeSupplyT$fMonadPlusSupplyT MonadSupplyfreshpeek freshName$fMonadSupplyWriterT$fMonadSupplyStateT$fMonadSupplySupplyTComment LineComment BlockComment $fShowComment $fEqComment $fOrdComment$fFromJSONComment$fToJSONComment SourceSpanspanName spanStartspanEnd SourcePos sourcePosLinesourcePosColumn SourceAnndisplaySourcePosdisplayStartEndPosdisplaySourceSpaninternalModuleSourceSpannullSourceSpan$fFromJSONSourcePos$fToJSONSourcePos$fNFDataSourcePos$fFromJSONSourceSpan$fToJSONSourceSpan$fNFDataSourceSpan$fShowSourcePos $fEqSourcePos$fOrdSourcePos$fGenericSourcePos$fShowSourceSpan$fEqSourceSpan$fOrdSourceSpan$fGenericSourceSpan HasCallStack internalErrorFixity AssociativityInfixlInfixrInfix Precedence showAssoc readAssoc$fFromJSONAssociativity$fToJSONAssociativity$fNFDataAssociativity$fToJSONFixity$fNFDataFixity$fShowAssociativity$fEqAssociativity$fOrdAssociativity$fGenericAssociativity $fShowFixity $fEqFixity $fOrdFixity$fGenericFixity normalizeCss normalizeCssT pursuitCss pursuitCssT minterspersefindNodeProcessgetHistoryFilename Qualified ModuleNameProperNameTypeTypeNameConstructorName ClassNameKindName Namespace ProperName runProperName OpNameType ValueOpName TypeOpName AnyOpNameOpName runOpNameIdentGenIdent UnusedIdentName IdentName ValOpNameTyNameTyOpName DctorName TyClassNameModNameKiName getIdentName getValOpName getTypeName getKindName getTypeOpName getDctorName getClassName getModNamerunIdent showIdent freshIdent freshIdent'showOp eraseOpNamecoerceProperName runModuleNamemoduleNameFromStringisBuiltinModuleName showQualifiedgetQualqualify mkQualified disqualify disqualifyFor isQualified isUnqualifiedisQualifiedWith $fNFDataIdent$fFromJSONOpName$fToJSONOpName$fNFDataOpName$fFromJSONProperName$fToJSONProperName$fNFDataProperName$fNFDataModuleName $fNFDataName$fNFDataQualified $fShowIdent $fEqIdent $fOrdIdent$fGenericIdent $fShowOpName $fEqOpName $fOrdOpName$fGenericOpName$fShowProperName$fEqProperName$fOrdProperName$fGenericProperName$fShowModuleName$fEqModuleName$fOrdModuleName$fGenericModuleName$fEqName $fOrdName $fShowName $fGenericName$fShowQualified $fEqQualified$fOrdQualified$fFunctorQualified$fFoldableQualified$fTraversableQualified$fGenericQualified$fFromJSONQualified$fToJSONQualified$fFromJSONIdent $fToJSONIdent$fFromJSONModuleName$fToJSONModuleNameConstructorType ProductTypeSumTypeMeta IsConstructor IsNewtypeIsTypeClassConstructor IsForeignIsWhere$fShowConstructorType$fEqConstructorType$fOrdConstructorType $fShowMeta$fEqMeta $fOrdMetamoduleNameToJs identToJs properToJsidentNeedsEscapingidentCharToTextnameIsJsReservednameIsJsBuiltIn jsAnyReserved jsKeywordsjsSometimesReservedjsFutureReservedjsFutureReservedStrict jsOldReserved jsLiterals CodegenTargetJS JSSourceMapCoreFnOptionsoptionsVerboseErrorsoptionsNoCommentsoptionsCodegenTargetsdefaultOptions$fEqCodegenTarget$fOrdCodegenTarget$fShowCodegenTarget $fShowOptionsPSStringtoUTF16CodeUnitsdecodeStringWithReplacementdecodeStringEitherprettyPrintString decodeStringprettyPrintStringJSmkString$fFromJSONPSString$fToJSONPSString$fIsStringPSString$fShowPSString$fNFDataPSString $fEqPSString $fOrdPSString$fMonoidPSString$fGenericPSStringLabelrunLabel $fNFDataLabel $fShowLabel $fEqLabel $fOrdLabel$fIsStringLabel $fMonoidLabel $fToJSONLabel$fFromJSONLabel$fGenericLabelEffectDictionariesedApplicativeDict edBindDict edMonadDict ControlBindIsSymbol DataSymbolWarnFail PrimTypeError SymbolCons SymbolAppend SymbolCompare PrimSymbol RowListCons RowListNil RowToList PrimRowListRowLacksRowConsRowNubRowUnionPrimRow PrimOrderingRecordPartialPrimDiscard$apply# applyFlipped<>++append>>=binddiscard+add-sub*mul/div%mod<lessThan> greaterThan<= lessThanOrEq>=greaterThanOrEq==eqeq1/=notEqcomparecompare1&&conj||disj unsafeIndexorandxor<<<compose>>>composeFlippedmapnegatenotshlshrzshr complementzeroonebottomtopreturnpure' returnEscapedunituntilEwhileErunST stRefValuenewSTRef readSTRef writeSTRef modifySTRefmkFnrunFnmkEffFnrunEffFn mkEffectFn runEffectFn undefinedeffDictionarieseffectDictionariesdiscardUnitDictionarysemiringNumber semiringInt ringNumberringIntmoduloSemiringNumbermoduloSemiringInteuclideanRingNumbereuclideanRingInt ordBoolean ordNumberordInt ordStringordChareqNumbereqInteqStringeqChar eqBooleanboundedBooleanbooleanAlgebraBooleanheytingAlgebraBooleansemigroupStringsemigroupoidFngenerictoSpine fromSpine toSignaturemainpartial orderingLT orderingEQ orderingGT primModulestyp kindOrdering kindRowListsymboldocprimmoduleOrdering moduleRow moduleRowList moduleSymbol typeErrorprelude dataArrayeffeffectstcontrolApplicativecontrolSemigroupoid controlBindcontrolMonadEffUncurriedeffectUncurried dataBounded dataSemigroupdataHeytingAlgebradataEqdataOrd dataSemiringdataRingdataEuclideanRing dataFunctiondataFunctionUncurried dataIntBits partialUnsafe unsafePartial unsafeCoerceunsafeCoerceFnKindKUnknownRowFunKind NamedKind kindFromJSONeverywhereOnKindseverywhereOnKindsMeverythingOnKinds$fFromJSONKind $fToJSONKind $fNFDataKind $fShowKind$fEqKind $fOrdKind $fGenericKindLiteralNumericLiteral StringLiteral CharLiteralBooleanLiteral ArrayLiteral ObjectLiteral $fEqLiteral $fOrdLiteral $fShowLiteral$fFunctorLiteralBinder NullBinder LiteralBinder VarBinderConstructorBinder NamedBinderextractBinderAnn $fShowBinder$fFunctorBinderCaseAlternativecaseAlternativeBinderscaseAlternativeResultGuardBindNonRecRecExpr ConstructorAccessor ObjectUpdateAbsAppVarCaseLet extractAnn modifyAnn$fFunctorCaseAlternative$fShowCaseAlternative $fShowExpr $fFunctorExpr $fShowBind $fFunctorBindeverywhereOnValueseverythingOnValuesModulemoduleSourceSpanmoduleComments moduleName modulePath moduleImports moduleExports moduleForeign moduleDecls $fShowModule ParseStateindentationLevel$fShowParseState TokenParserPositionedToken ptSourcePosptEndPos ptPrevEndPosptToken ptCommentsTokenlex lexLenientanyTokentokenmatchlparenrparenparenslbracerbracebraceslsquarersquaresquaresindentindentAtlarrowrarrow lfatArrow rfatArrowcolon doubleColonequalspipetickdotcommasemiat underscoreholeLitsemiSepsemiSep1commaSep commaSep1lnamelname' qualifierreservedunameuname'tynamekiname dconsnamemnamesymbol' charLiteral stringLiteralnumbernatural identifierreservedPsNamesreservedTypeNames isSymbolChar isUnquotedKey$fShowPositionedToken $fShowToken $fEqToken $fOrdToken$fEqPositionedToken properNametypeNamekindNamedataConstructorNameparseQualified parseIdent parseLabel parseOperatoraugmentfoldbuildPostfixParsermarkcheckIndentationindentedsame readCommentsrunTokenParser toSourcePoswithSourceSpanwithSourceAnnFwithSourceSpan'withSourceSpanF parseKindwidth indentWidthparasuccessivelyIndentedvcatspacer bulletedList bulletedListT printToStderr printToStdout globRelativepurescriptSourceFilesfstMsndMthirdMpairMmaybeMeitherMdefS ConstraintconstraintClassconstraintArgsconstraintDataConstraintDataPartialConstraintDataTypeTUnknownTypeVarTypeLevelString TypeWildcardTypeConstructorTypeOpTypeAppForAllConstrainedTypeSkolemREmptyRCons KindedTypePrettyPrintFunctionPrettyPrintObjectPrettyPrintForAllBinaryNoParensType ParensInType SkolemScoperunSkolemScopemapConstraintArgsoverConstraintArgs$fNFDataSkolemScope$fNFDataConstraintData$fNFDataConstraint $fNFDataType$fShowSkolemScope$fEqSkolemScope$fOrdSkolemScope$fToJSONSkolemScope$fFromJSONSkolemScope$fGenericSkolemScope$fShowConstraintData$fEqConstraintData$fOrdConstraintData$fGenericConstraintData$fShowConstraint$fEqConstraint$fOrdConstraint$fGenericConstraint $fShowType$fEqType $fOrdType $fGenericType$fFromJSONType $fToJSONType$fFromJSONConstraint$fToJSONConstraint rowToListrowToSortedList rowFromList isMonoTypemkForAllreplaceTypeVarsreplaceAllTypeVarsusedTypeVariablesfreeTypeVariablesquantifymoveQuantifiersToFrontcontainsWildcardscontainsForAlleverywhereOnTypeseverywhereOnTypesTopDowneverywhereOnTypesMeverywhereOnTypesTopDownMeverythingOnTypeseverythingWithContextOnTypes$fFromJSONConstraintData$fToJSONConstraintData NamedDictTypeClassDictionaryInScopetcdChaintcdIndextcdValuetcdPath tcdClassNametcdInstanceTypestcdDependenciessuperclassName"$fNFDataTypeClassDictionaryInScope $fShowTypeClassDictionaryInScope#$fFunctorTypeClassDictionaryInScope$$fFoldableTypeClassDictionaryInScope'$fTraversableTypeClassDictionaryInScope#$fGenericTypeClassDictionaryInScope DataDeclTypeDataNewtypeTypeKindDataType TypeSynonym ExternDataLocalTypeVariable ScopedTypeVarNameKindPrivatePublicExternalNameVisibility UndefinedDefinedFunctionalDependency fdDeterminers fdDetermined TypeClassDatatypeClassArgumentstypeClassMemberstypeClassSuperclassestypeClassDependenciestypeClassDeterminedArgumentstypeClassCoveringSets EnvironmentnamestypesdataConstructors typeSynonymstypeClassDictionaries typeClasseskindsinitEnvironmentmakeTypeClassDatashowDataDeclTypeprimName primSubNameprimKind primSubKindkindTypekindConstraint-:> kindSymbolkindDocprimTy tyFunctiontyStringtyChartyNumbertyInt tyBooleantyArraytyRecordisObject isFunctionisTypeOrAppliedfunction primKindsprimOrderingKindsprimRowListKindsprimTypeErrorKinds allPrimKinds primTypes allPrimTypesprimOrderingTypes primRowTypesprimRowListTypesprimSymbolTypesprimTypeErrorTypes primClassesallPrimClassesprimRowClassesprimRowListClassesprimSymbolClassesprimTypeErrorClasseslookupConstructorisNewtypeConstructor lookupValue$fToJSONFunctionalDependency$fFromJSONFunctionalDependency$fNFDataFunctionalDependency$fNFDataTypeClassData$fNFDataNameVisibility$fNFDataNameKind$fFromJSONTypeKind$fToJSONTypeKind$fNFDataTypeKind$fFromJSONDataDeclType$fToJSONDataDeclType$fNFDataDataDeclType$fNFDataEnvironment$fShowFunctionalDependency$fGenericFunctionalDependency$fShowTypeClassData$fGenericTypeClassData$fShowNameVisibility$fEqNameVisibility$fGenericNameVisibility$fShowNameKind $fEqNameKind$fGenericNameKind$fShowTypeKind $fEqTypeKind$fGenericTypeKind$fShowDataDeclType$fEqDataDeclType$fOrdDataDeclType$fGenericDataDeclType$fShowEnvironment$fGenericEnvironmentnoForAll parseTypeAtom parseType parsePolyType noWildcardsAnnssAnnremoveCommentsoptimizeCoreFnOpBinderBinaryNoParensBinderParensInBinderPositionedBinder TypedBinder binderNames isIrrefutable $fOrdBinder $fEqBinderModuleIdentifier ModuleTypeRegularForeign ErrorMessageUnsupportedModulePathInvalidTopLevelUnableToParseModuleUnsupportedExport ErrorInModuleMissingEntryPointMissingMainModuleguessModuleIdentifierprintErrorMessagegetExportedIdentifiersbundleSMbundle$fShowModuleType$fEqModuleType$fOrdModuleType$fShowModuleIdentifier$fEqModuleIdentifier$fOrdModuleIdentifier$fShowErrorMessage$fShowExportType$fEqExportType$fOrdExportType$fShowModuleElement AssocList runAssocListPathNodeLeafBranchPathTreeDoNotationElementDoNotationValueDoNotationBind DoNotationLetPositionedDoNotationElementWhereProvenance FromWhereFromLet UnaryMinusBinaryNoParensParensObjectUpdateNestedOp IfThenElse TypedValueDoAdo!TypeClassDictionaryConstructorAppTypeClassDictionaryTypeClassDictionaryAccessorDeferredDictionaryAnonymousArgumentHolePositionedValue GuardedExprConditionGuard PatternGuardTypeInstanceBodyDerivedInstanceNewtypeInstanceNewtypeInstanceWithDictionaryExplicitInstance TypeFixity ValueFixity DeclarationDataDeclarationDataBindingGroupDeclarationTypeSynonymDeclarationTypeDeclarationValueDeclarationBoundValueDeclarationBindingGroupDeclarationExternDeclarationExternDataDeclarationExternKindDeclarationFixityDeclarationImportDeclarationTypeClassDeclarationTypeInstanceDeclarationValueDeclarationDatavaldeclSourceAnn valdeclIdent valdeclNamevaldeclBindersvaldeclExpressionTypeDeclarationDatatydeclSourceAnn tydeclIdent tydeclTypeImportDeclarationTypeImplicitExplicitHidingDeclarationRefTypeRef TypeOpRefValueRef ValueOpRef TypeClassRefTypeInstanceRef ModuleRefKindRef ReExportRef HintCategoryExprHintKindHint CheckHint PositionHint SolverHint OtherHintErrorMessageHintErrorUnifyingTypesErrorInExpressionErrorInInstanceErrorInSubsumptionErrorCheckingAccessorErrorCheckingTypeErrorCheckingKindErrorCheckingGuardErrorInferringTypeErrorInApplicationErrorInDataConstructorErrorInTypeConstructorErrorInBindingGroupErrorInDataBindingGroupErrorInTypeSynonymErrorInValueDeclarationErrorInTypeDeclarationErrorInTypeClassDeclarationErrorInForeignImportErrorSolvingConstraintPositionedErrorSimpleErrorMessageModuleNotFoundErrorParsingFFIModuleErrorParsingModuleMissingFFIModuleUnnecessaryFFIModuleMissingFFIImplementationsUnusedFFIImplementationsInvalidFFIIdentifierCannotGetFileInfoCannotReadFileCannotWriteFile InfiniteType InfiniteKindMultipleValueOpFixitiesMultipleTypeOpFixitiesOrphanTypeDeclarationRedefinedIdentOverlappingNamesInLet UnknownName UnknownImportUnknownImportDataConstructor UnknownExportUnknownExportDataConstructor ScopeConflictScopeShadowing DeclConflictExportConflictDuplicateModuleDuplicateTypeClassDuplicateInstanceDuplicateTypeArgument InvalidDoBind InvalidDoLetCycleInDeclarationCycleInTypeSynonymCycleInModulesNameIsUndefinedUndefinedTypeVariablePartiallyAppliedSynonym EscapedSkolemTypesDoNotUnifyKindsDoNotUnifyConstrainedTypeUnifiedOverlappingInstancesNoInstanceFoundAmbiguousTypeVariables UnknownClassPossiblyInfiniteInstance CannotDeriveInvalidDerivedInstanceExpectedTypeConstructorInvalidNewtypeInstance MissingNewtypeSuperclassInstanceUnverifiableSuperclassInstanceCannotFindDerivingTypeDuplicateLabelDuplicateValueDeclarationArgListLengthsDifferOverlappingArgNamesMissingClassMemberExtraneousClassMember ExpectedTypeIncorrectConstructorArityExprDoesNotHaveTypePropertyIsMissingAdditionalPropertyTypeSynonymInstanceOrphanInstanceInvalidNewtypeInvalidInstanceHeadTransitiveExportErrorTransitiveDctorExportError ShadowedNameShadowedTypeVar UnusedTypeVarWildcardInferredTypeHoleInferredTypeMissingTypeDeclarationOverlappingPatternIncompleteExhaustivityCheckMisleadingEmptyTypeImportImportHidingModule UnusedImportUnusedExplicitImportUnusedDctorImportUnusedDctorExplicitImportDuplicateSelectiveImportDuplicateImportDuplicateImportRefDuplicateExportRef IntOutOfRangeImplicitQualifiedImportImplicitQualifiedImportReExportImplicitImport HidingImportCaseBinderLengthDiffersIncorrectAnonymousArgumentInvalidOperatorInBinder!CannotGeneralizeRecursiveFunctionCannotDeriveNewtypeForDataExpectedWildcardCannotUseBindWithDoClassInstanceArityMismatchUserDefinedWarningUnusableDeclarationCannotDefinePrimModulesMixedAssociativityErrorNonAssociativeError TypeSearchTSBeforeTSAftertsAfterIdentifierstsAfterRecordFieldsContext MkUnguardedTypeFixityDeclarationValueFixityDeclaration ValueDeclonTypeSearchTypesonTypeSearchTypesM getModuleNamegetModuleSourceSpangetModuleDeclarationsaddDefaultImport importPrim compDecRefdeclRefSourceSpan declRefName getTypeRef getTypeOpRef getValueRef getValueOpRefgetTypeClassRef getKindRef isModuleRef isImplicit isExplicitoverTypeDeclarationgetTypeDeclarationunwrapTypeDeclarationoverValueDeclarationgetValueDeclarationmapTypeInstanceBodytraverseTypeInstanceBody declSourceAnndeclSourceSpandeclName isValueDecl isDataDecl isImportDeclisExternDataDeclisExternKindDecl isFixityDecl getFixityDecl isExternDeclisTypeClassInstanceDeclarationisTypeClassDeclaration flattenDecls$fEqDeclarationRef$fShowTypeSearch$fShowHintCategory$fEqHintCategory$fShowDeclarationRef$fGenericDeclarationRef$fNFDataDeclarationRef$fEqImportDeclarationType$fShowImportDeclarationType$fShowTypeDeclarationData$fEqTypeDeclarationData$fShowValueDeclarationData$fFunctorValueDeclarationData$fFoldableValueDeclarationData!$fTraversableValueDeclarationData$fEqValueFixity$fOrdValueFixity$fShowValueFixity$fEqTypeFixity$fOrdTypeFixity$fShowTypeFixity$fShowWhereProvenance$fShowAssocList $fEqAssocList$fOrdAssocList$fFoldableAssocList$fFunctorAssocList$fTraversableAssocList$fShowPathTree $fEqPathTree $fOrdPathTree$fFunctorPathTree$fFoldablePathTree$fTraversablePathTree$fShowPathNode $fEqPathNode $fOrdPathNode$fFunctorPathNode$fFoldablePathNode$fTraversablePathNode$fShowDoNotationElement$fShowDeclaration$fShowGuardedExpr $fShowGuard$fShowTypeInstanceBody$fShowErrorMessageHint$fShowSimpleErrorMessage$fFromJSONDeclarationRef$fToJSONDeclarationRef isTrueExpr$fFromJSONImportDeclarationType$fToJSONImportDeclarationType ScopedIdent LocalIdent ToplevelIdent guardedExprMmapGuardedExprlitMeverywhereOnValuesTopDownMeverywhereOnValuesMeverythingWithContextOnValueseverywhereWithContextOnValuesMinScopeeverythingWithScope accumTypes accumKinds overTypes$fShowScopedIdent$fEqScopedIdent$fOrdScopedIdentexportedDeclarations isExporteddesugarLetPatternModule PrinterState PlainStringStrPosSMapEmitemit addMappingparensT parensPos intercalaterunPlainString addMapping'bumpPosaddPosemptyPrinterState blockIndent withIndent currentIndentprettyPrintManyobjectKeyRequiresQuotingbeforebeforeWithSpaceendWith $fEmitStrPos$fMonoidStrPos$fEmitPlainString$fMonoidPlainStringprettyPrintKindprettyPrintRow typeAtomAsBoxprettyPrintTypeAtom typeAsBoxsuggestedTypeAsBoxprettyPrintTypeprettyPrintTypeWithUnicodeprettyPrintSuggestedTypeprettyPrintLabelprettyPrintObjectKeyprettyPrintValueprettyPrintBinderAtomprettyPrintBinderExternsDeclarationEDType EDTypeSynonymEDDataConstructorEDValueEDClass EDInstanceEDKind edTypeName edTypeKindedTypeDeclarationKindedTypeSynonymNameedTypeSynonymArgumentsedTypeSynonymTypeedDataCtorNameedDataCtorOriginedDataCtorTypeCtoredDataCtorTypeedDataCtorFields edValueName edValueType edClassNameedClassTypeArgumentsedClassMembersedClassConstraintsedFunctionalDependenciesedInstanceClassNameedInstanceNameedInstanceTypesedInstanceConstraintsedInstanceChainedInstanceChainIndex edKindNameExternsTypeFixityefTypeAssociativityefTypePrecedenceefTypeOperator efTypeAlias ExternsFixityefAssociativity efPrecedence efOperatorefAlias ExternsImporteiModule eiImportType eiImportedAs ExternsFile efVersion efModuleName efExports efImports efFixitiesefTypeFixitiesefDeclarations efSourceSpanapplyExternsFileToEnvironmentmoduleToExternsFile$fShowExternsImport$fShowExternsFixity$fShowExternsTypeFixity$fShowExternsDeclaration$fShowExternsFile$fFromJSONExternsImport$fToJSONExternsImport$fFromJSONExternsFixity$fToJSONExternsFixity$fFromJSONExternsTypeFixity$fToJSONExternsTypeFixity$fFromJSONExternsDeclaration$fToJSONExternsDeclaration$fFromJSONExternsFile$fToJSONExternsFile PPEOptions ppeCodeColorppeFullppeLevel ppeShowDocsppeRelativeDirectoryLevelErrorWarningTypeMap umSkolemMap umUnknownMap umNextIndexMultipleErrorsrunMultipleErrorsErrorSuggestion errorSpan errorModulefindHintstripModuleAndSpan errorCodenonEmpty errorMessage errorMessage'errorMessage'' singleErroronErrorMessagesaddHintaddHintsdefaultUnknownMapunwrapErrorMessagereplaceUnknownsonTypesInErrorMessageonTypesInErrorMessageM errorDocUrierrorSuggestionsuggestionSpanshowSuggestion ansiColoransiColorReset colorCode colorCodeBoxdefaultCodeColordefaultPPEOptionsprettyPrintSingleErrorprettyPrintExportprettyPrintImportprettyPrintRefprettyPrintMultipleErrorsprettyPrintMultipleWarningsprettyPrintMultipleWarningsBoxprettyPrintMultipleErrorsBoxprettyPrintMultipleErrorsWithprettyPrintParseErrorprettyPrintParseErrorMessageslinelineS renderBoxtoTypelevelStringrethrow reifyErrors reflectErrorswarnAndRethrowrethrowWithPositionwarnWithPositionwarnAndRethrowWithPosition withPositionpositionedErrorescalateWarningWhenparU$fShowMultipleErrors$fMonoidMultipleErrors $fShowTypeMap $fShowLevelUnknown CheckStatecheckEnv checkNextType checkNextKindcheckNextSkolemcheckNextSkolemScopecheckCurrentModulecheckSubstitution checkHints Substitution substType substKindemptySubstitutionemptyCheckState bindNames bindTypeswithScopedTypeVarswithErrorMessageHintgetHintsrethrowWithPositionTCwarnAndRethrowWithPositionTCwithTypeClassDictionariesgetTypeClassDictionarieslookupTypeClassDictionaries#lookupTypeClassDictionariesForClassbindLocalVariablesbindLocalTypeVariablesmakeBindingGroupVisiblewithBindingGroupVisiblepreservingNameslookupVariable getVisibilitycheckVisibilitylookupTypeVariablegetEnvgetLocalContextputEnv modifyEnvrunCheck runCheck' guardWithcaptureSubstitutioncapturingSubstitutionwithFreshSubstitutionwithoutWarnings SynonymMapreplaceAllTypeSynonymsreplaceAllTypeSynonymsMnewSkolemConstantintroduceSkolemScopenewSkolemScope skolemizeskolemizeTypesInValueskolemEscapeCheck freshType solveTypesubstituteTypeunknownsInType unifyTypes alignRowsWith unifyRowsreplaceVarWithUnknownreplaceTypeWildcards varIfUnknownsubsumeskindOfkindOfWithScopedVarskindsOf kindsOfAll SolverOptionssolverShouldGeneralizesolverDeferErrorsInstanceContextreplaceTypeClassDictionariesentailsnewDictionaries$fMonoidMatched$fShowEvidence $fEqEvidence$fShowEntailsResult $fEqMatched $fShowMatched$fFunctorMatched typeSearchBindingGroupTypeRecursiveBindingGroupNonRecursiveBindingGrouptypesOf$fShowBindingGroupType$fEqBindingGroupType$fOrdBindingGroupTypedesugarTypeDeclarationsModuleReapplyFromOpChaintoAssoc parseValueparseOpmatchOpopTablematchOperatorsmatchTypeOperatorsmatchExprOperatorsmatchBinderOperatorsdesugarSignedLiterals rebracketrebracketFilteredcheckFixityExportsdesugarObjectConstructors desugarDecl ExportModeInternalReExportEnvExports exportedTypesexportedTypeOpsexportedTypeClassesexportedValuesexportedValueOps exportedKindsImports importedTypesimportedTypeOpsimportedDataConstructorsimportedTypeClassesimportedValuesimportedValueOpsimportedModulesimportedQualModules importedKindsImportProvenance FromImplicit FromExplicitLocal ImportRecord importNameimportSourceModuleimportSourceSpanimportProvenance nullImports nullExportsenvModuleSourceSpanenvModuleImportsenvModuleExports primExportsprimEnv exportType exportTypeOpexportTypeClass exportValue exportValueOp exportKind getExportscheckImportConflicts$fEqImportProvenance$fOrdImportProvenance$fShowImportProvenance$fEqImportRecord$fOrdImportRecord$fShowImportRecord $fShowImports $fShowExports$fEqExportMode$fShowExportMode ImportDef findImportsresolveImportsresolveModuleImportwarnDuplicateRefsfindExportableresolveExportsdesugarDoModuledesugarCasesModuledesugarCaseGuards desugarCasesdesugarTypeClassestypeClassMemberNamesuperClassDictionaryNamescreateBindingGroupsModulecollapseBindingGroupsModulecreateBindingGroupscollapseBindingGroupsdesugarAdoModuleparseImportDeclaration'parseDeclarationRefparseDeclarationparseLocalDeclarationparseModuleDeclaration parseModuleparseModulesFromFilesparseModuleFromFiletoPositionedError parseBinderparseBinderNoParens parseGuard ModuleGraph sortModulesunMakerunMakemakeIO readTextFile$fMonadBaseControlIOMake$fMonadBaseIOMake $fFunctorMake$fApplicativeMake $fMonadMake $fMonadIOMake$fMonadErrorMake$fMonadWriterMake$fMonadReaderMake UsedImports lintImportsdesugarImportsWithEnvcheckExhaustiveExprlint checkNewtypetypeCheckModulederiveInstances$fMonoidNewtypeDerivedInstances$fShowNewtypeDerivedInstancesdesugar FixityAlias RenderedCodeRenderedCodeElementSyntaxKeywordSpaceSymbol ValueLevel TypeLevel KindLevelLinkNoLinkContainingModule ThisModule OtherModuleasContainingModulemaybeToContainingModulecontainingModuleToMaybefromContainingModule fromQualifiedasRenderedCodeElementasRenderedCode outputWithspsyntaxkeyword keywordForall keywordDatakeywordNewtype keywordType keywordClasskeywordInstance keywordWhere keywordFixity keywordKind keywordAsidentdataCtortypeCtortypeOptypeVarkindalias aliasName$fFromJSONContainingModule$fToJSONContainingModule$fFromJSONLink $fToJSONLink$fFromJSONNamespace$fToJSONNamespace$fNFDataNamespace$fToJSONRenderedCodeElement$fToJSONRenderedCode$fShowContainingModule$fEqContainingModule$fOrdContainingModule $fShowLink$fEqLink $fOrdLink$fShowNamespace $fEqNamespace$fOrdNamespace$fGenericNamespace$fShowRenderedCodeElement$fEqRenderedCodeElement$fOrdRenderedCodeElement$fShowRenderedCode$fEqRenderedCode$fOrdRenderedCode$fMonoidRenderedCode renderKindRenderTypeOptionsprettyPrintObjects currentModule renderRow renderTyperenderTypeAtomdefaultRenderTypeOptionsrenderTypeWithOptionsrenderTypeAtomWithOptionsASTUnaryBinaryIndexerFunctionBlockVariableIntroduction AssignmentWhileForForInIfElseReturnReturnNoResultThrow InstanceOfBinaryOperatorAddSubtractMultiplyDivideModulusEqualTo NotEqualToLessThanLessThanOrEqualTo GreaterThanGreaterThanOrEqualToAndOr BitwiseAnd BitwiseOr BitwiseXor ShiftLeft ShiftRightZeroFillShiftRight UnaryOperatorNegateNot BitwiseNotPositiveNew getSourceSpan everywhereeverywhereTopDowneverywhereTopDownM everything$fShowUnaryOperator$fEqUnaryOperator$fShowBinaryOperator$fEqBinaryOperator $fShowAST$fEqASTtcoapplyAll replaceIdent replaceIdents isReassigned isReboundisUsedtargetVariable isUpdatedremoveFromBlockisDictisDict'removeCodeAfterReturnStatementsremoveUndefinedAppmagicDomagicDo'inlineST etaConvertunThunk evaluateIifesinlineVariablesinlineCommonValuesinlineCommonOperatorsinlineFnCompositioninlineUnsafeCoerceinlineUnsafePartialcollapseNestedBlockscollapseNestedIfsoptimizemoduleToCoreFnrenameInModules moduleToJSONmoduleFromJSON moduleToJsprettyPrintJSWithSourceMaps prettyPrintJS MakeActionsgetInputTimestampgetOutputTimestamp readExternscodegenprogressExternsProgressMessageCompilingModule RebuildPolicy RebuildNever RebuildAlwaysbuildMakeActions$fShowRebuildPolicy$fEqRebuildPolicy$fOrdRebuildPolicy$fShowProgressMessage$fEqProgressMessage$fOrdProgressMessage BuildPlan markComplete needsRebuild collectErrorscollectResults getResult construct rebuildModulemakeinferForeignModulesversion DirectiveHelpQuitReloadClearBrowseShowPasteComplete ReplQuery QueryLoaded QueryImportCommand ExpressionShowHelpImport BrowseModuleQuitPSCi ReloadState ClearStateDeclsTypeOfKindOfShowInfo PasteLines CompleteStrImportedModule PSCiState PSCiConfig psciFileGlobspsciEnvironmentpsciImportedModulespsciLetBindingspsciLoadedExterns psciImports psciExportsinitialPSCiStatepsciImportedModuleNamesupdateImportedModulesupdateLoadedExterns updateLets replQueriesreplQueryStrings showReplQueryparseReplQuery$fShowPSCiConfig$fShowPSCiState $fEqReplQuery$fShowReplQuery $fShowCommand $fEqDirective$fShowDirective directivesdirectiveStringsdirectiveStrings'strings stringsFor stringFordirectivesFor' directivesFordirectiveStringsForparseDirective hasArgumenthelpguideURL helpMessageprologueMessagenoInputMessagesupportModuleMessage quitMessagetextTprintModuleSignatures parseDotFile parseCommand CompletionMliftCompletionM completion completion'formatCompletions$fShowCompletionContextDigraph _unDigraph GraphName _unGraphNameGraph graphNamedigraphSuperMap _unSuperMap prettyPrinttypeClassGraphtypeClassPrologue typeClassBodytypeClassEpilogue superClasses $fOrdSuperMap $fEqSuperMap $fEqGraphName$fShowGraphName $fEqDigraph $fShowDigraph $fEqGraph $fShowGraph JSONResultwarningserrors JSONErrorpositionmessage errorLinkfilename suggestionallSpans replacement replaceRange ErrorPosition startLine startColumnendLine endColumn$fShowErrorPosition$fEqErrorPosition$fOrdErrorPosition$fShowErrorSuggestion$fEqErrorSuggestion$fShowJSONError $fEqJSONError$fShowJSONResult$fEqJSONResult$fFromJSONErrorPosition$fToJSONErrorPosition$fFromJSONJSONError$fToJSONJSONError$fFromJSONJSONResult$fToJSONJSONResult toJSONErrors toJSONError$fFromJSONErrorSuggestion$fToJSONErrorSuggestionIdeTypeOperator_ideTypeOpName_ideTypeOpAlias_ideTypeOpPrecedence_ideTypeOpAssociativity_ideTypeOpKindIdeValueOperator_ideValueOpName_ideValueOpAlias_ideValueOpPrecedence_ideValueOpAssociativity_ideValueOpType IdeInstance_ideInstanceModule_ideInstanceName_ideInstanceTypes_ideInstanceConstraints IdeTypeClass _ideTCName _ideTCKind_ideTCInstancesIdeDataConstructor _ideDtorName_ideDtorTypeName _ideDtorTypeIdeTypeSynonym_ideSynonymName_ideSynonymType_ideSynonymKindIdeType _ideTypeName _ideTypeKind _ideTypeDtorsIdeValue_ideValueIdent _ideValueTypeIdeDeclaration IdeDeclValue IdeDeclTypeIdeDeclTypeSynonymIdeDeclDataConstructorIdeDeclTypeClassIdeDeclValueOperatorIdeDeclTypeOperator IdeDeclKind ModuleMap ModuleIdent$fShowIdeValue $fEqIdeValue $fOrdIdeValue$fGenericIdeValue$fNFDataIdeValue $fShowIdeType $fEqIdeType $fOrdIdeType$fGenericIdeType$fNFDataIdeType$fShowIdeTypeSynonym$fEqIdeTypeSynonym$fOrdIdeTypeSynonym$fGenericIdeTypeSynonym$fNFDataIdeTypeSynonym$fShowIdeDataConstructor$fEqIdeDataConstructor$fOrdIdeDataConstructor$fGenericIdeDataConstructor$fNFDataIdeDataConstructor$fShowIdeInstance$fEqIdeInstance$fOrdIdeInstance$fGenericIdeInstance$fNFDataIdeInstance$fShowIdeTypeClass$fEqIdeTypeClass$fOrdIdeTypeClass$fGenericIdeTypeClass$fNFDataIdeTypeClass$fShowIdeValueOperator$fEqIdeValueOperator$fOrdIdeValueOperator$fGenericIdeValueOperator$fNFDataIdeValueOperator$fShowIdeTypeOperator$fEqIdeTypeOperator$fOrdIdeTypeOperator$fGenericIdeTypeOperator$fNFDataIdeTypeOperator$fShowIdeDeclaration$fEqIdeDeclaration$fOrdIdeDeclaration$fGenericIdeDeclaration$fNFDataIdeDeclaration _IdeDeclValue _IdeDeclType_IdeDeclTypeSynonym_IdeDeclDataConstructor_IdeDeclTypeClass_IdeDeclValueOperator_IdeDeclTypeOperator _IdeDeclKind ideValueIdent ideValueType ideTypeDtors ideTypeKind ideTypeNameideSynonymKindideSynonymNameideSynonymType ideDtorName ideDtorTypeideDtorTypeNameideTCInstances ideTCKind ideTCNameideInstanceConstraintsideInstanceModuleideInstanceNameideInstanceTypesideValueOpAliasideValueOpAssociativityideValueOpNameideValueOpPrecedenceideValueOpType Annotation _annLocation_annExportedFrom_annTypeAnnotation_annDocumentationIdeDeclarationAnn_idaAnnotation_idaDeclarationideTypeOpAliasideTypeOpAssociativity ideTypeOpKind ideTypeOpNameideTypeOpPrecedence$fShowAnnotation$fEqAnnotation$fOrdAnnotation$fGenericAnnotation$fNFDataAnnotation$fShowIdeDeclarationAnn$fEqIdeDeclarationAnn$fOrdIdeDeclarationAnn$fGenericIdeDeclarationAnn$fNFDataIdeDeclarationAnnannDocumentationannExportedFrom annLocationannTypeAnnotation IdeNamespaced IdeNamespace IdeNSValue IdeNSType IdeNSKindSuccessCompletionResult TextResult UsagesResultMultilineTextResult ImportList ModuleListRebuildSuccess Completion complModulecomplIdentifier complTypecomplExpandedType complLocationcomplDocumentationcomplExportedFromMatchIdeVolatileState vsAstDatavsDeclarationsvsCachedRebuild IdeFileState fsExterns fsModulesIdeState ideFileStateideVolatileStateIdeIdeEnvironment ideStateVarideConfigurationIdeConfigurationconfOutputPath confLogLevel confGlobsconfEditorMode IdeLogLevelLogDebugLogPerfLogAll LogDefaultLogNoneAstDataTypeAnnotationsDefinitionSites idaAnnotationidaDeclarationemptyAnn emptyIdeStateemptyFileStateemptyVolatileStateidentifierFromDeclarationRef encodeSuccess encodeImport$fToJSONCompletion$fToJSONSuccess$fFromJSONIdeNamespace$fShowIdeLogLevel$fEqIdeLogLevel$fShowIdeFileState $fShowMatch $fEqMatch$fFunctorMatch$fShowCompletion$fEqCompletion$fOrdCompletion $fShowSuccess$fShowIdeNamespace$fEqIdeNamespace$fOrdIdeNamespace$fGenericIdeNamespace$fNFDataIdeNamespace$fShowIdeNamespaced$fEqIdeNamespaced$fOrdIdeNamespaced$fGenericIdeNamespaced$fNFDataIdeNamespaced $fShowAstData $fEqAstData $fOrdAstData$fGenericAstData$fNFDataAstData$fFunctorAstData$fFoldableAstData$fShowIdeVolatileState$fShowIdeStateidePrimDeclarations labelTimespeclogPerfdisplayTimeSpecdeclarationtypeDeclarationTypeValueSynonymDataConstructor TypeClass ValueOperator TypeOperatortypeDeclarationForDeclaration$fFromJSONDeclarationType$fFromJSONIdeDeclaration$fShowDeclarationType$fEqDeclarationType$fOrdDeclarationTypeIdeError GeneralErrorNotFoundModuleFileNotFound ParseError RebuildErrorprettyPrintTypeSingleLine$fToJSONIdeError$fShowIdeErrorreadExternFileconvertExterns LinkLocation SameModule LocalModule DepsModule BuiltinModuleDocLink linkLocation linkTitle linkNamespace LinksContext ctxGithub ctxModuleMapctxResolvedDependenciesctxPackageName ctxVersion ctxVersionTag InPackageFromDep PackageErrorCompilerTooOldErrorInPackageMetaInvalidVersionInvalidDeclarationTypeInvalidChildDeclarationType InvalidFixity InvalidKindInvalidDataDeclType InvalidTime GithubRepo runGithubRepo GithubUser runGithubUserChildDeclarationInfo ChildInstanceChildDataConstructorChildTypeClassMemberChildDeclaration cdeclTitle cdeclCommentscdeclSourceSpan cdeclInfoDeclarationInfoAliasDeclaration declTitle declComments declChildrendeclInfomodName modCommentsmodDeclarations modReExports ManifestErrorVerifiedPackageUploadedPackage NotYetKnownPackagepkgMeta pkgVersion pkgVersionTag pkgTagTime pkgModules pkgModuleMappkgResolvedDependencies pkgGithub pkgUploaderpkgCompilerVersion verifyPackage packageNamejsonTimeFormat formatTime parseTimeconvertFundepsToStringsdeclInfoToStringdeclInfoNamespace isTypeClassisValueisType isValueAlias isTypeAliasisKindfilterChildrenchildDeclInfoToStringchildDeclInfoNamespaceisTypeClassMemberisDataConstructor takeLocal takeLocals ignorePackagegetLinkgetLinksContextparseUploadedPackageparseVerifiedPackage asPackageparseTimeEitherasUploadedPackage asNotYetKnownasVerifiedPackagedisplayPackageError asGithubUser asVersion parseVersion'asModule asDeclaration asReExportpOr asInPackageasFixity asFixityAliasparseAssociativityasAssociativityasDeclarationInfoasTypeArgumentsasKindasType asFunDepsasDataDeclTypeasChildDeclarationasChildDeclarationInfo asSourcePos asConstraintasQualifiedProperNameasQualifiedIdent asModuleMapbookmarksAsModuleMapasResolvedDependenciesparsePackageName'mapLeftasGithub asSourceSpanassocListToJSON$fToJSONNotYetKnown$fFromJSONNotYetKnown$fNFDataNotYetKnown$fToJSONDeclarationInfo$fNFDataDeclarationInfo$fToJSONChildDeclarationInfo$fNFDataChildDeclarationInfo$fToJSONChildDeclaration$fNFDataChildDeclaration$fToJSONDeclaration$fNFDataDeclaration$fToJSONGithubUser$fFromJSONGithubUser$fNFDataGithubUser$fToJSONGithubRepo$fNFDataGithubRepo$fNFDataPackageError$fToJSONInPackage$fFunctorInPackage$fNFDataInPackage$fToJSONModule$fNFDataModule$fToJSONPackage$fFromJSONPackage$fNFDataPackage$fNFDataLinksContext$fNFDataLinkLocation$fNFDataDocLink$fShowNotYetKnown$fEqNotYetKnown$fOrdNotYetKnown$fGenericNotYetKnown$fShowDeclarationInfo$fEqDeclarationInfo$fOrdDeclarationInfo$fGenericDeclarationInfo$fShowChildDeclarationInfo$fEqChildDeclarationInfo$fOrdChildDeclarationInfo$fGenericChildDeclarationInfo$fShowChildDeclaration$fEqChildDeclaration$fOrdChildDeclaration$fGenericChildDeclaration$fEqDeclaration$fOrdDeclaration$fGenericDeclaration$fShowGithubUser$fEqGithubUser$fOrdGithubUser$fGenericGithubUser$fShowGithubRepo$fEqGithubRepo$fOrdGithubRepo$fGenericGithubRepo$fShowPackageError$fEqPackageError$fOrdPackageError$fGenericPackageError$fShowInPackage $fEqInPackage$fOrdInPackage$fGenericInPackage $fEqModule $fOrdModule$fGenericModule $fShowPackage $fEqPackage $fOrdPackage$fGenericPackage$fShowLinksContext$fEqLinksContext$fOrdLinksContext$fGenericLinksContext$fShowLinkLocation$fEqLinkLocation$fOrdLinkLocation$fGenericLinkLocation $fShowDocLink $fEqDocLink $fOrdDocLink$fGenericDocLink OtherError ProcessFailedIOExceptionThrown JSONSourceFromFileFromResolutions InternalErrorCouldntParseGitTagDateRepositoryFieldErrorRepositoryFieldMissingBadRepositoryType NotOnGithub UserErrorPackageManifestNotFoundResolutionsFileNotFoundCouldntDecodePackageManifestTagMustBeCheckedOutAmbiguousVersionsBadRepositoryFieldNoLicenseSpecifiedInvalidLicenseMissingDependencies CompileErrorDirtyWorkingTreePackageWarningNoResolvedVersionUndeclaredDependencyUnacceptableVersionDirtyWorkingTree_Warn MissingPath printErrorprintErrorToStdout renderErrorrenderWarnings printWarnings$fMonoidCollectedWarnings$fShowPackageWarning$fShowRepositoryFieldError$fShowUserError$fShowJSONSource$fShowInternalError$fShowOtherError$fShowCollectedWarnings$fEqCollectedWarnings$fOrdCollectedWarningstags dumpEtags dumpCtagsrenderDeclarationrenderDeclarationWithOptionsrenderChildDeclaration!renderChildDeclarationWithOptionsrenderConstraintrenderConstraintWithOptionsrenderConstraintsrenderConstraintsWithOptions notQualifiedident' dataCtor'typeApp toTypeVarprimDocsModuleprimRowDocsModuleprimTypeErrorDocsModuleconvertSingleModuleconvertCommentsupdateReExports$fMonoidTypeClassEnv$fShowTypeClassEnvconvertTaggedModulesInPackageconvertModulesInPackageconvertModulesInPackageWithEnvconvertModulesconvertModulesWithEnvDocsrenderModulesAsMarkdownmodulesAsMarkdown codeToStringrunDocs $fShowFirst $fEqFirst $fOrdFirstHtmlRenderContextcurrentModuleName buildDocLink renderDocLinkrenderSourceLinkHtmlOutputModulehtmlOutputModuleLocalshtmlOutputModuleReExports HtmlOutput htmlIndex htmlModules declNamespacenullRenderContext packageAsHtml moduleAsHtml makeFragmentrenderMarkdown$fShowHtmlOutputModule$fFunctorHtmlOutputModule$fShowHtmlOutput$fFunctorHtmlOutputfixCRLF readUTF8FileTwriteUTF8FileT readUTF8File writeUTF8FilesupportModuleNamesupportModuleIsDefined loadModuleloadAllModulescreateTemporaryModulecreateTemporaryModuleForKindcreateTemporaryModuleForImports importDecl indexFile modulesDir internalSpan handleCommandidentifierFromIdeDeclarationnamespaceForDeclaration discardAnn withEmptyAnn unwrapMatchvalueOperatorAliasTtypeOperatorAliasTencodeTdecodeT properNameTidentTopNameT ideReadFileextractAstInformationextractTypeAnnotations extractSpansReexportResult reResolvedreFailedprettyPrintReexportResultreexportHasFailuresresolveReexportsresolveReexports'$fNFDataReexportResult$fShowReexportResult$fEqReexportResult$fFunctorReexportResult$fGenericReexportResult resetIdeStategetLoadedModulenamesgetExternFiles insertModule getFileState getAllModules insertExternsinsertExternsSTM cacheRebuild cachedRebuildpopulateVolatileStateSyncpopulateVolatileStatepopulateVolatileStateSTMresolveInstancesresolveOperatorsForModule resolveDataConstructorsForModulewatcher findUsagesfindReexportingModulesdirectDependantseligibleModules applySearchWildcardAnnotationsexplicitAnnotations noAnnotations caseSplit makePattern addClause rebuildFilerebuildFileAsyncrebuildFileSyncMatcher flexMatcher runMatcher$fFromJSONMatcher$fMonoidMatcherFilternamespaceFilter moduleFilter prefixFilterequalityFilterdeclarationTypeFilter applyFilters$fFromJSONFilter$fMonoidFilterCompletionOptions coMaxResultscoGroupReexportsgetCompletionsgetExactMatchesgetExactCompletionsdefaultCompletionOptionsapplyCompletionOptions simpleExportcompletionFromMatch$fFromJSONCompletionOptions$fShowNamespaced$fEqNamespaced$fOrdNamespacedListType LoadedModulesAvailableModules ImportCommandAddImplicitImportAddQualifiedImportAddImportForIdentifierLoadLoadSync CaseSplit AddClause FindUsagesListRebuild RebuildSyncCwdReset typeFilterstypeCurrentModulecompleteFilterscompleteMatchercompleteCurrentModulecompleteOptions caseSplitLinecaseSplitBegin caseSplitEndcaseSplitAnnotations caseSplitType addClauseLineaddClauseAnnotations usagesModuleusagesIdentifierusagesNamespacelistType commandName$fFromJSONImportCommand$fFromJSONListType$fFromJSONCommand$fShowImportCommand$fEqImportCommandparseImportsFromFilesliceImportSectionaddImplicitImportaddImplicitImport'addQualifiedImportaddQualifiedImport'addExplicitImport'addImportForIdentifierprettyPrintImport'prettyPrintImportSection answerRequest parseImport $fEqImport $fShowImportparseFilesInPackagesPrepareMPublishOptionspublishGetVersionpublishGetTagTimepublishWorkingTreeDirtydefaultPublishOptionsunsafePreparePackagepreparePackage runPrepareMwarn userError otherErrorpreparePackage' getModulesgetGitWorkingTreeStatuscheckCleanWorkingTreegetVersionFromGitTaggetManifestRepositoryInfogetResolvedDependencies$fMonadIOPrepareM$fFunctorPrepareM$fApplicativePrepareM$fMonadPrepareM$fMonadWriterPrepareM$fMonadErrorPrepareM$fShowTreeStatus$fEqTreeStatus$fOrdTreeStatus$fEnumTreeStatus$fShowDependencyStatus$fEqDependencyStatus#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.InternalTextbaseGHC.Base codePointslangDef tokenParserisUnquotedKeyHeadCharisUnquotedKeyTailCharLParenRParenLBraceRBraceLSquareRSquareIndentLArrowRArrow LFatArrow RFatArrowColon DoubleColonEqualsPipeTickDotCommaSemiAt UnderscoreLNameUName QualifierNumberHoleLitNothingclosedRecordFields getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName ModuleElement ExportTypeKeycheckImportPathwithDepstoModulecompile isModuleEmptycodeGenRequireMember ExportsListOtherSkip RegularExportForeignReexportfilterDataConstructorsfilterInstancestypeInstanceConstituentsisDctorExportedreorderdesugarLetPatternprettyPrintRowWithTypeRenderOptions troSuggesting troUnicodelistprettyPrintValueAtom occursCheckCoercionModeSingModedefaultCoercion subsumes' SElaborate SNoElaborate Elaborate NoElaborate freshKind solveKindsubstituteKind unifyKinds solveTypes starIfUnknowninfer EntailsResultSolvedUnsolvedDeferredMatching TypeClassDictEvidence NamedInstance WarnInstanceIsSymbolInstanceEmptyClassInstancenamedInstanceIdentifier pairwiseAll pairwiseAnyMatchedApart checkSubsumeaccessorSearchSplitBindingGroup_splitBindingGroupUntyped_splitBindingGroupTyped_splitBindingGroupNamestypeDictionaryForBindingGroupcheckTypedBindingGroupElementtypeForBindingGroupElement checkTypeKindinstantiatePolyTypeWithUnknownsinfer' inferBinderbinderRequiresMonotypeinstantiateForBinders checkBinderscheckcheck'checkPropertiescheckFunctionApplicationcheckFunctionApplication'ensureNoDuplicateProperties FixityRecordGHC.NumprimOrderingExportsprimRowExportsprimRowListExportsprimSymbolExportsprimTypeErrorExports mkPrimExports addExportthrowDeclConflictthrowExportConflict resolveImport filterModule desugarDodesugarGuardedExprs validateCasestoBindingGroup desugarAdoparseInfixExprindexersAndAccessors usedModulesghc-prim GHC.TypesIO mtl-2.2.1-DscMMmDQUE6GBfOSl4qMUHControl.Monad.Error.Class MonadErrorelaborateExportsreorderExportsrenameInModuleRedundancyError qualifyNamegetConstructors initialize genericMergemissingCasesSinglemissingCasesMultipleisExhaustiveGuard otherwise missingCasescheckExhaustive IncompletecheckTypeSynonyms typeCheckAllcheckTypeClassInstanceNewtypeDerivedInstances ndiClassesndiDerivedInstancesextractNewtypeNamederiveInstanceMaybetryAlltryParseunpackFixityAliasRCunRCfindQualModulesimportToCoreFnexternToCoreFnexportToCoreFnmkTypeClassConstructor properToIdent RenameState rsBoundNames rsUsedNames runRenamenewScope updateScope lookupIdentfindDeclIdents renameInDecl renameInValuerenameInLiteralrenameInCaseAlternativerenameInBinderprettyPrintJS'renderProgressMessagecheckForeignDeclsBuildJobbjResultbjErrorsPrebuiltpbModificationTime pbExternsFile bpPrebuilt bpBuildJobspsciExpression psciImportpsciDeclarationpsciDeprecatedLetfindCompletionshaskeline-0.7.4.0#System.Console.Haskeline.CompletioncompleteWordWithPrevcompletionContextCompletionContext CtxDirective CtxFilePath CtxModule CtxIdentifierCtxTypeCtxFixed ToResolveTypeClassToResolveSynonymToResolvepure ApplicativeCollectedWarningsnoResolvedVersionsundeclaredDependenciesunacceptableVersionsdirtyWorkingTree missingPathslookupPrimClassOfDeclarationAugmentIntermediateDeclaration AugmentType AugmentClassaugmentDeclarations mkDeclaration AugmentChild TypeClassEnvenvUnhandledMembers envValuesenvTypeClasses getReExportscollectDeclarations findImportlookupTypeDeclarationlookupModuleDeclarations handleEnvfilterTypeClassMemberstypeClassConstraintFor convertSortedtypeCheckIfNecessary typeCheckinsertValueTypespartiallyDesugarFirstNotFirst printErrorsrebuildhandleReloadStatehandleClearStatehandleExpression handleDeclshandleShowLoadedModuleshandleShowImportedModules handleImport handleTypeOf handleKindOf handleBrowsehandleCompleteinsertModuleSTMgetFileStateSTMgetVolatileStategetVolatileStateSTMsetVolatileStateSTM reloadFileSearch matchesRefMakeActionsEnvrebuildModuleOpen shushProgress shushCodegen sortExternsopenModuleExportsmaeOutputDirectorymaeFilePathMapmaeForeignPathMapmaePrefixComment Namespaced ImportParse ipModuleNameipStartipEnd ipImportsparseImportsFromFile'addExplicitImportfindAvailableExternsfindAllSourceFilesloadModulesAsyncFileInfoMissing NoResolution ResolvedOtherResolvedVersion getTagTime isValidSPDXasToplevelDependenciesDependencyStatus TreeStatusCleanDirty unPrepareM