ke      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd.NoneeXReturns the number of failing tests. Warning: Not multithread safe, but is reenterant fghijeklmneklmnfghijeklmnNone GNo,First string may have stars in it (the want) pqrstuvwxyozwpqrstuvwxyozNone{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456{|}~{|}~None357?Return the variables, erring on the side of more free variables8?Return the variables, erring on the side of more free variables*97:8;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`97?@AB%97:8;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`None4Uabcdefghijklmnopqrstuvwxyz{|}~Uabcdefghijklmnopqrstuvwxyz{|}~Uabcdefghijklmnopqrstuvwxyz{|}~ None 357QfromNamed will return "" when it cannot be represented toNamed may crash on ""( NoneMData type representing the modules in scope within a module. Created with  and queried with  and . Note that the   is not equivalent to 6 on an empty module, due to the implicit import of Prelude. Create a 3 value from a module, based on the modules imports.hGiven a two names in scopes, could they possibly refer to the same thing. This property is reflexive.Given a name in a scope, and a new scope, create a name for the new scope that will refer to the same thing. If the resulting name is ambiguous, it picks a plausible candidate.  Safe None Safe  None;GINAn A represents how characters are stored in a file. Created with  or  and used with .The system default encoding.Apply an encoding to a .vCreate an encoding from a string, or throw an error if the encoding is not known. Accepts many encodings including locale, utf-8' and all those supported by the GHC mkTextEncoding function.  None+G.which files to run it on, nothing = none givenwhere to generate reports)which settignsfiles were explicitly given(hints that are given on the command linecolor the resultthe hints to ignoredisplay all skipped items extensions #the extensions (may be prefixed by No) the text encoding Rwork between source files, applies to hints such as duplicate code between modules !source files to look for hints in the data directorydisplay hint data as JSONdo not show the summary info%Display hints in serialisation formatRun the refactor* executable to automatically perform hintsOptions to pass to the refactor executable.Path to refactor toola proof script to check against'temporary directory to put the files inWhen to colour terminal output.'Terminal output will never be coloured.(Terminal output will always be coloured.JTerminal output will be coloured if $TERM and stdout appear to support it.$What C pre processor should be used. No pre processing is done. Lines prefixed with # are stripped. The cpphs library is used.(Determines whether to use colour or not.=      !"#$%&'()* +,-./01234567890      !"#$%&'()* +-/0135%'*      !"#$&   !"# ()  +,-./0123456789None35G:MIs this item lexically requiring no bracketing ever i.e. is totally atomic;mIs the child safe free from brackets in the parent position. Err on the side of caution, True = don't know<0Add a Paren around something if it is not atomic=HDescend, and if something changes then add/remove brackets appropriately>@Add/remove brackets as suggested needBracket at 1-level of depth ?@A:;<=B>CDEF ?@A:;<B>C ?@A:;<=B>CDEFNone GHGGHNone A parse error from .Location of the error.%Message about the cause of the error.3Snippet of several lines (typically 5) including a >' character pointing at the faulty line. Created with  , used by .%How the file is read in (defaults to I).*How the file is preprocessed (defaults to  ).8How the file is parsed (defaults to all fixities in the base. package and most non-conflicting extensions).Default value for .Parse a Haskell module. Applies the C pre processor, and uses best-guess fixity resolution if there are ambiguities. The filename - is treated as stdin. Requires some flags (often :), the filename, and optionally the contents of that file.JUGiven a line number, and some source code, put bird ticks around the appropriate bit. KLMJNOPG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456{|}~97?@ABabcdefghijklmnopqrstuvwxyz{|}~?@A:;<B>CG L  KLMJNOPNoneQRQRQRNone GSGenerate a lambda, but prettier (if possible). Generally no lambda is good, but removing just some arguments isn't so useful.T{Convert expressions which have redundant junk in them away. Mainly so that later stages can match on fewer alternatives.USVTUSTUSVTNone GA  LHS ==> RHS style hint rule.Default severity for the hint.Name for the hint.(Module scope in which the hint operates.LHSRHS )Side condition, typically specified with  where _ = ....!$Notes about application of the hint."How to classify an Idea. If any matching field is "" then it matches everything.$Severity to set the Idea to.% Match on Idea field ideaHint.& Match on Idea field  ideaModule.' Match on Idea field ideaDecl.(0A note describing the impact of the replacement.)=The replacement is increases laziness, for example replacing reverse (reverse x) with x makes the code lazier.*=The replacement is decreases laziness, for example replacing (fst x, snd x) with x makes the code stricter.+6The replacement removes errors, for example replacing  foldr1 (+) with sum removes an error on [], and might contain the text "on []".,IThe replacement assumes standard type class lemmas, a hint with the note ValidInstance "Eq" "x" might only be valid if the x variable has a reflexive Eq instance.-An arbitrary note..How severe an issue is./GThe issue has been explicitly ignored and will usually be hidden (pass --show+ on the command line to see ignored ideas).0TSuggestions are things that some people may consider improvements, but some may not.1EWarnings are suggestions that are nearly always a good idea to apply.2$Available as a setting for the user.3@Given a module containing HLint settings information return the " rules and the | expressions. Any fixity declarations will be discarded, but any other unrecognised elements will result in an exception.4$Given the data directory (where the hlint data files reside, see getHLintDataDir]), and a filename to read, and optionally that file's contents, produce a pair containing: Builtin hints to use, e.g. List!, which should be resolved using  builtinHints.AA list of modules containing hints, suitable for processing with 3./Any parse failures will result in an exception.3WXYZ[ !"#$%&'()*+,-./012\]^_`ab3c4defghijklm(WXYZ[ !"#$%&'()*+,-./012\^_`a34ejWXYZ[ !"#$%&'()*+,-./012\]^_`ab3c4defghijklmNone 5An idea suggest by a Hint.7'The module the idea applies to, may be ""I if the module cannot be determined or is a result of cross-module hints.8YThe declaration the idea applies to, typically the function name, but may be a type name.9The severity of the idea, e.g. 1.:3The name of the hint that generated the idea, e.g.  "Use reverse".;$The source code the idea relates to.<4The contents of the source code the idea relates to.=The suggested replacement, or n+ for no replacement (e.g. on parse errors).>3Notes about the effect of applying the replacement.?How to perform this idea56789:;<=>?opqrstuvwxyz{#()*+,-./012`56789:;<=>?opqrstuvwxyz5 6789:;<=>?opqrstuvwxyz{None@0Functions to generate hints, combined using the | instance.BDGiven a list of modules (and their scope information) generate some 5s.C>Given a single module and its scope information generate some 5s.D<Given a declaration (with a module and scope) generate some 5[s. This function will be partially applied with one module/scope, then used on multiple  values.EGiven a comment generate some 5s. @ABCDE}~u      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456{|}~97?@ABabcdefghijklmnopqrstuvwxyz{|}~?@A:;<B>CG LQR()*+,-./012`56789:;<=>?opqrstuvwxyz@ABCDE}~@ABCDE}~None 4FGNone GNone 4G  None GNone  None4None GNoneGN   None 4 !None-Classes that don't work with newtype deriving0What is derived on newtype, and on data type  'deriving'J declarations may be on either, so we approximate as both newtype and data"NoneGNThe position to return if we match at this point, and the map of where to go next If two runs have the same vals, always use the first pos you find#None$None%None&None4GGuess why a theorem is missing  'None  4FGN{Descend, and if something changes then add/remove brackets appropriately in both the template and the original expression.           (NoneFWA list of the builtin hints wired into HLint. This list is likely to grow over time.T=A list of builtin hints, currently including entries such as "List" and  "Bracket".UTransform a list of  into a @.FGHIJKLMNOPQRS TU!V@ABCDE~FGHIJKLMNOPQRSTU!VF GHIJKLMNOPQRS TU!V)None":Given a set of hints, do all the HintRule hints type check#BGiven a set of hints, do all the HintRule hints satisfy QuickCheck$"#%&'("#$"#%&'(*None)DApply hints to a single file, you may have the contents of the file.*AApply hints to multiple files, allowing cross-file hints to fire.W*Given a way of classifying results, and a @1, apply to a set of modules generating a list of 5 s. The 5& values will be ordered within a file.6Given a set of modules, it may be faster pass each to W in a singleton list. When given multiple modules at once this function attempts to find hints between modules, which is slower and often pointless (by default HLint passes modules singularly, using --cross to pass all modules together).+bGiven a list of settings (a way to classify) and a list of hints, run them over a list of modules.,bReturn either an idea (a parse error) or the module. In IO because might call the C pre processor.-,Find which hints a list of settings implies..IGiven some settings, make sure the severity field of the Idea is correct.)*W+,-.)*W)*W+,-.NoneX0Get the Cabal configured data directory of HLintY'The function produces a tuple containg  (for ), and " and @ for WC. It approximates the normal HLint configuration steps, roughly: Use 4+ to find and load the HLint settings files.Use 3, to interpret the settings files, producing  values ( LHS ==> RHS replacements) and " values to assign . ratings to hints.Use T and V to generate a @ value.Take all fixities from the 4 modules and put them in the ./ISnippet from the documentation, if this changes, update the documentationXYZ/K  !"#$%&'()*+,-./0123456789:;<=>?@ABCDETVWXYZKW56789:;<=>?./012()*+,-"#$%&'XYZ43@ABCDET !V  XYZ/+None000,NoneG12345312345-None67667.None [vThis function takes a list of command line arguments, and returns the given hints. To see a list of arguments type  hlint --helpN at the console. This function writes to the stdout/stderr streams, unless --quiet is specified.As an example: ldo hints <- hlint ["src", "--ignore=Use map","--quiet"] when (length hints > 3) $ error "Too many hints!"Warning: The flags provided by HLint are relatively stable, but do not have the same API stability guarantees as the rest of the strongly-typed API. Do not run this function on a your server with untrusted input. [89:;<=>?@A[ [89:;<=>?@ANone\A suggestion - the Show instance is of particular use.]|This function takes a list of command line arguments, and returns the given suggestions. To see a list of arguments type  hlint --helpN at the console. This function writes to the stdout/stderr streams, unless --quiet is specified.As an example: ldo hints <- hlint ["src", "--ignore=Use map","--quiet"] when (length hints > 3) $ error "Too many hints!"^:From a suggestion, extract the file location it refers to._.From a suggestion, determine how severe it is.\BC]^_D ./012\]^_ ]\^_./012\BC]^_DNoneFG`1Get the Cabal configured data directory of HLint.a'The function produces a tuple containg  (for  ), and " and @ for WC. It approximates the normal HLint configuration steps, roughly: Use d with c+ to find and load the HLint settings files.Use  and U to transform the outputs of d.If you want to do anything custom (e.g. using a different data directory, storing intermediate outputs, loading hints from a database) you are expected to copy and paste this function, then change it to your needs.b A version of a which respects some of the arguments supported by HLint. If arguments unrecognised by HLint are used it will result in an error. Arugments which have no representation in the return type are silently ignored.cGiven a directory (or n to imply `), and a module name (e.g.  HLint.Defaulto), find the settings file associated with it, returning the name of the file, and (optionally) the contents.9This function looks for all settings files starting with HLint.U in the directory argument, and all other files relative to the current directory.d-Given a function to load a module (typically c.), and a module to start from (defaults to  HLint.HLint/) find the information from all settings files.EISnippet from the documentation, if this changes, update the documentation`abcdEV  !"#$%&'()*+,-./01256789:;<=>?@ABCDEFGHIJKLMNOPQRSUW[`abcdV[W56789:;<=>?./012()*+,-"#$%&'`abdcFGHIJKLMNOPQRS !@ABCDEU  `abcdEF / 0 1 23456789:;;<=>??@ABCDEFFGHIJKLMNNOPQRSTUVWSXYZ[\]^_`abcdefghhijkl(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}*~.Z^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,,-./0122344567789:;<=>?@?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?lmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll l l l l lllllllllllllllllllllll l l!l!l"l"l#l$l%l&l'll(l)l*l+ll,l-l.l/l0l1l2l2l3l4l5l6l7l8l9l:l;l<l=l>l?l@lAlBlClDlElFlGlHlIlJlKlLlLlMlNlOlPlQlRlSlTlUlVlWlXlXlYlZl[l\l]l^l_l`lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll l l l l lllllllllll !"#$"#%"#&"'("')"'*"'+"',"'-"'."'/"'0"'1"'2"'3"'4"'5"'6"'7"'8"'9"':"';"'<"'="'>"'?"'@ABCDEEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                         /                            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~m          !!!!!!!!!!!!!!"""""""###$$$$%%%%&&&&&&&&&&&&&''' ' ' ' ' '''''''''''''''''(( )!)")#))$)%)&*'*(*)***+*,-+.,/,/,0,1,2-3-4.5.6.7.8.9.:.;.<.=.>?@A-Bhlint_0h8hf2JFENp02UCHeHRaCCLanguage.Haskell.HLint2Language.Haskell.HLint3Language.Haskell.HLint Test.UtilTest.InputOutputHSE.Type HSE.FreeVarsHSE.Util HSE.Match HSE.ScopeHsColourParallel Paths_hlintUtilCmdLine HSE.Bracket HSE.EvaluateHSE.AllRefact Hint.UtilSettingsIdea Hint.Type Hint.List Hint.ListRec Hint.Monad Hint.Lambda Hint.Bracket Hint.Naming Hint.Pattern Hint.Import Hint.PragmaHint.ExtensionsHint.Duplicate Hint.Comment Hint.UnsafeReport Test.Proof Hint.MatchHint.AllTest.TranslateApplyGrepTest.AnnotationsTest.AllHLintScope scopeCreate scopeMatch scopeMoveEncodingdefaultEncoding useEncoding readEncodingCppFlagsNoCpp CppSimpleCpphs ParseErrorparseErrorLocationparseErrorMessageparseErrorContents ParseFlagsencodingcppFlagshseFlagsdefaultParseFlagsparseFlagsAddFixities parseModuleExHintRulehintRuleSeverity hintRuleName hintRuleScope hintRuleLHS hintRuleRHS hintRuleSide hintRuleNotesClassifyclassifySeverity classifyHintclassifyModule classifyDeclNoteIncreasesLazinessDecreasesLaziness RemovesError ValidInstanceSeverityIgnore SuggestionWarningError readSettings findSettings ideaModuleideaDecl ideaSeverityideaHintideaSpanideaFromideaToideaNoteideaRefactoringHint hintModules hintModulehintDecl hintComment HintBuiltinHintList HintListRec HintMonad HintLambda HintBracket HintNaming HintPattern HintImport HintPragmaHintExtensions HintUnsafe HintDuplicate HintComment builtinHints resolveHints hintRules applyHintsgetHLintDataDir autoSettings autoSettings'hlintsuggestionLocationsuggestionSeverity argsSettingsreadSettingsFile withTestsResultfailurestotalrefprogresspassedfailedtested matchStar InputOutputnamefilesrunoutputexittestInputOutputparseInputOutputscheckInputOutput matchStarStarType_Pat_Exp_Decl_Module_Shaske_KAtHwxlYtiv1k1yZv6lq7WLanguage.Haskell.Exts.AnnotatedreadExtensionsparseFileContentsWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsparseFileWithCommentsparseFileWithModeparseFileWithExts parseFile&Language.Haskell.Exts.Annotated.ParserunListOf getTopPragmasparseImportDeclWithCommentsparseImportDeclWithModeparseImportDeclparseStmtWithCommentsparseStmtWithMode parseStmtparseTypeWithCommentsparseTypeWithMode parseTypeparseDeclWithCommentsparseDeclWithMode parseDeclparsePatWithCommentsparsePatWithModeparsePatparseExpWithCommentsparseExpWithModeparseExpparseModuleWithCommentsparseModuleWithMode parseModulePragmasAndModuleNamePragmasAndModuleHeadModuleHeadAndImports unNonGreedy NonGreedyListOf&Language.Haskell.Exts.Annotated.Fixity applyFixities AppFixityLanguage.Haskell.Exts.PrettyprettyPrimWithMode prettyPrim prettyPrintprettyPrintWithModeprettyPrintStyleMode defaultMode PPNoLayoutPPInLine PPSemiColon PPOffsideRulePPLayoutIndent linePragmaslayoutspacing onsideIndent whereIndent letIndent caseIndent multiIfIndentdoIndent classIndentPPHsModePrettyLanguage.Haskell.Exts.LexerlexTokenStreamWithModelexTokenStream#Language.Haskell.Exts.InternalLexerEOFKW_CApi KW_JavaScriptKW_JsKW_Jvm KW_DotNet KW_CPlusPlusKW_CCall KW_StdCallKW_Interruptible KW_Threadsafe KW_UnsafeKW_Safe KW_Export KW_Foreign KW_Pattern KW_QualifiedKW_WhereKW_UsingKW_TypeKW_ThenKW_RoleKW_RecKW_ProcKW_Of KW_NewType KW_ModuleKW_Let KW_Instance KW_InfixR KW_InfixLKW_InfixKW_In KW_ImportKW_If KW_HidingKW_Group KW_Forall KW_FamilyKW_ElseKW_MDoKW_Do KW_Deriving KW_DefaultKW_DataKW_ClassKW_CaseKW_ByKW_As INCOHERENTOVERLAP NO_OVERLAPMINIMALANNLANGUAGEOPTIONSUNPACKCORE GENERATEDSCCWARNING DEPRECATEDSOURCESPECIALISE_INLINE SPECIALISEINLINE_CONLIKEINLINERULES PragmaEnd XRPatClose XRPatOpenXPCDATA XChildTagOpenXEmptyTagClose XCloseTagOpen XStdTagClose XStdTagOpen XCodeTagClose XCodeTagOpenRPCAt RPGuardClose RPGuardOpen THQuasiQuote THTyQuote THVarQuote THParenEscape THIdEscape THCloseQuote THTypQuote THDecQuote THPatQuote THExpQuoteRightDblArrowTailLeftDblArrowTailRightArrowTail LeftArrowTailStar ExclamationMinus DoubleArrowTildeAt RightArrow LeftArrowBar BackslashEquals DoubleColon QuoteColonColonDotDotDot BackQuote UnderscoreCommaParArrayRightSquareParArrayLeftSquare RightSquare LeftSquare VRightCurly RightCurly LeftCurly SemiColonRightHashParen LeftHashParen RightParen LeftParen StringHash CharacterHash DoubleTokHash FloatTokHash WordTokHash IntTokHash StringTok CharacterFloatTokIntTokQConSymQVarSymConSymVarSymDVarIdQConIdConId ILinVarId IDupVarIdQVarIdVarIdToken Language.Haskell.Exts.ParseMonaddefaultParseModefromParseResultparseWithComments parseWithMode Parseable ParseFailedParseOk ParseResultignoreFunctionArityfixitiesignoreLinePragmasignoreLanguagePragmas extensions baseLanguage parseFilename ParseModeLanguage.Haskell.Exts.Fixityinfix_infixl_infixr_ baseFixitiespreludeFixitiesFixityLanguage.Haskell.Exts.Syntax AssocRight AssocLeft AssocNoneAssocLanguage.Haskell.Exts.ExtensiontoExtensionListprettyExtensionparseExtensionclassifyExtensiondeprecatedExtensionsknownExtensions ghcDefault glasgowExts impliesExtsprettyLanguageclassifyLanguageknownLanguagesUnknownLanguageHaskellAllDisabled Haskell2010 Haskell98LanguageUnknownExtensionDisableExtensionEnableExtension ExtensionNamedWildCardsPartialTypeSignaturesPatternSynonymsRoleAnnotationsConstraintKindsDefaultSignatures TrustworthySafe SafeImports MultiWayIf PolyKinds DataKindsExplicitNamespacesCApiFFIInterruptibleFFINondecreasingIndentationDeriveFoldableDeriveTraversable DeriveGeneric DeriveFunctorMonoLocalBindsDatatypeContextsExplicitForAllRebindableSyntaxDoAndIfThenElseNPlusKPatternsGHCForeignImportPrim TupleSectionsRegularPatterns XmlSyntax ViewPatternsTransformListComp QuasiQuotesPostfixOperatorsNewQualifiedOperatorsImpredicativeTypes LambdaCasePackageImportsConstrainedClassMethodsDeriveDataTypeable UnboxedTuplesExtendedDefaultRulesRelaxedPolyRec MonoPatBindsGADTsOverloadedStringsDisambiguateRecordFields RecordPunsRecordWildCardsParallelArrays TypeOperatorsLiberalTypeSynonymsUnliftedFFITypes UnicodeSyntaxStandaloneDeriving TypeFamiliesBinaryLiterals MagicHash HereDocumentsRestrictedTypeSynonymsExtensibleRecordsGeneralizedNewtypeDeriving PatternGuardsNamedFieldPunsImplicitPreludeGenericsArrowsForeignFunctionInterfaceTemplateHaskellTypeSynonymInstances BangPatternsKindSignaturesCPPEmptyDataDeclsFlexibleInstancesFlexibleContextsImplicitParamsPatternSignaturesScopedTypeVariablesExistentialQuantificationPolymorphicComponents RankNTypes Rank2TypesFunctionalDependenciesMonomorphismRestrictionMultiParamTypeClassesParallelListComp RecursiveDoDoRec InstanceSigsIncoherentInstancesUndecidableInstancesOverlappingInstancesKnownExtension(Language.Haskell.Exts.Annotated.CommentsassociateHaddock*Language.Haskell.Exts.Annotated.ExactPrint exactPrintExactPLanguage.Haskell.Exts.CommentsComment UnknownPragmaLanguage.Haskell.Exts.SrcLoc<^^><**<+?><++> combSpanMaybe combSpanInfoinfoSpan noInfoSpanspanSize isNullSpan mergeSrcSpan mkSrcSpan srcSpanEnd srcSpanStartnoLoc srcColumnsrcLine srcFilenameSrcLocsrcSpanEndColumnsrcSpanEndLinesrcSpanStartColumnsrcSpanStartLinesrcSpanFilenameSrcSpanunLocLoc srcInfoPoints srcInfoSpan SrcSpanInfo startColumn startLinefileName getPointLoc fromSrcInfo toSrcInfoSrcInfo%Language.Haskell.Exts.Annotated.Build metaConPat metaFunctionnameBind patBindWherepatBind simpleFunsfungenNameswildcardnoBindsbindsletStmtgenStmtqualStmtpParenpeListeListlistEaltGWaltcaseEletElamEdoEintPcharPstrPintEcharEstrEfunction pvarTuplevarTuplepTupletuplepAppappFuninfixAppapppvarqvaropvarsym&Language.Haskell.Exts.Annotated.Syntax=~= tuple_tyconunboxed_singleton_tycon list_tycon fun_tycon unit_tycontuple_tycon_nameunboxed_singleton_tycon_namelist_tycon_namefun_tycon_nameunit_tycon_name family_name forall_name capi_namejavascript_namejs_namejvm_name dotnet_namecplusplus_name ccall_name stdcall_namethreadsafe_nameinterruptible_name unsafe_name safe_name export_name star_namedot_name bang_name minus_name hiding_namequalified_nameas_nameunboxed_singleton_con tuple_conunit_conunboxed_singleton_con_namelist_cons_nametuple_con_name unit_con_name main_namemain_mod prelude_mod ModuleNameUnboxedSingleConConsTupleConFunConListConUnitCon SpecialConSpecialUnQualQualQNameSymbolIdentNameIPLinIPDupIPNameQConOpQVarOpQOpConOpVarOpOpConNameVarNameCName XmlHybridXmlPageModule ModuleHeadExportSpecListEModuleContents EThingWith EThingAllEAbsEVar ExportSpecPatternNamespace TypeNamespace NoNamespace Namespace importSpecsimportAs importPkg importSafe importSrcimportQualified importModule importAnn ImportDeclImportSpecList IThingWith IThingAllIAbsIVar ImportSpec RoleAnnotDecl MinimalPragma AnnPragmaInstSig SpecInlineSigSpecSigInlineConlikeSig InlineSigWarnPragmaDeclDeprPragmaDeclRulePragmaDeclForExpForImpPatSynPatBindFunBind PatSynSigTypeSig SpliceDecl DefaultDecl InfixDecl DerivDeclInstDecl ClassDecl GDataInsDecl DataInsDecl TypeInsDecl DataFamDecl GDataDeclDataDeclClosedTypeFamDecl TypeFamDeclTypeDeclDeclExplicitBidirectionalImplicitBidirectionalUnidirectionalPatternSynDirectionTypeEqn ModuleAnnTypeAnnAnn Annotation ParenFormula OrFormula AndFormula VarFormulaBooleanFormula RoleWildcardPhantomRepresentationalNominalRoleNewTypeDataType DataOrNewDHAppDHParenDHInfixDHeadDeclHeadIParenIRuleInstRuleIHAppIHParenIHInfixIHConInstHeadDerivingIPBindsBDeclsBindsIPBind InfixMatchMatch QualConDeclRecDecl InfixConDeclConDecl FieldDeclGadtDecl ClsDefSigClsTyDefClsTyFam ClsDataFamClsDeclInsGDataInsDataInsTypeInsDecl UnpackedTyBangedTyBangType GuardedRhss UnGuardedRhsRhs GuardedRhs TyWildCardTyBangTySpliceTyEquals TyPromotedTyKindTyInfixTyParenTyConTyVarTyApp TyParArrayTyListTyTupleTyFunTyForallType PromotedUnit PromotedTuple PromotedList PromotedConPromotedStringPromotedIntegerPromotedUnboxedBoxed UnkindedVar KindedVar TyVarBindKindList KindTupleKindAppKindVar KindParenKindFnKindStarKindFunDepCxEmptyCxTupleCxSingleContext WildCardAParenAEqualPIParamInfixAAppAClassAAsst PrimStringPrimChar PrimDouble PrimFloatPrimWordPrimIntFracIntStringCharLiteralNegativeSignlessSignExprHoleLCaseRightArrHighAppLeftArrHighApp RightArrApp LeftArrAppProc GenPragma SCCPragma CorePragma XChildTagXExpTagXPcdataXETagXTag QuasiQuote SpliceExp BracketExpTypQuoteVarQuote ExpTypeSig ParArrayCompParCompListCompParArrayFromThenToParArrayFromToEnumFromThenTo EnumFromThen EnumFromToEnumFrom RecUpdate RecConstr RightSection LeftSectionParenParArrayList TupleSectionTupleMDoDoCaseMultiIfIfLetLambdaNegAppAppInfixAppLitConIPVarVarExpXDomNameXNameXAttr DeclBracket TypeBracket PatBracket ExpBracketBracket ParenSpliceIdSpliceSplicePlayInterruptiblePlaySafe PlayRiskySafetyCApi JavaScriptJsJvmDotNet CPlusPlusCCallStdCallCallConvAnnModulePragma OptionsPragmaLanguagePragma ModulePragma UnknownToolHADDOCKYHCNHC98HUGSGHCTool IncoherentOverlap NoOverlap ActiveUntil ActiveFrom ActivationRule TypedRuleVarRuleVarWarnTextDeprText WarningTextPBangPat PQuasiQuotePXRPatsPXPatTagPXPcdataPXETagPXTagPRPatPViewPat PatTypeSigPIrrPat PWildCardPAsPatPRecPParenPListPTuplePApp PInfixAppPNPlusKPLitPVarPatPXAttrRPOptGRPOptRPPlusGRPPlusRPStarGRPStarRPatOpRPPatRPParenRPAsRPCAsRPGuardRPSeqRPEitherRPOpRPatPFieldWildcard PFieldPun PFieldPatPatFieldRecStmtLetStmt Qualifier GeneratorStmt GroupByUsing GroupUsingGroupByThenBy ThenTransQualStmt FieldWildcardFieldPun FieldUpdateAltamapann Annotatedprett_7UQTOB05U7lIYPkFOVraeRText.PrettyPrint.HughesPJModePageMode ZigZagModeLeftMode OneLineModeStylemode lineLengthribbonsPerLinestyleunipl_0m0JouqFn660nh2ECQRzqu$Data.Generics.Uniplate.Internal.Data transformBis transformer Transformer!Data.Generics.Uniplate.OperationsholesBi contextsBi rewriteBiM rewriteBi transformBiM transformBi childrenBi universeBiparaholescontextsrewriteMrewrite transformM transformchildrenuniversedescendMdescenduniplateUniplate descendBiM descendBibiplateBiplatefreeVarsallVarsFreeVarsAllVarsVarsboundfreedeclBindvarsvarsspvars^+^- freeVars_inFreeinVars unqualNamesunqualOp$fFreeVarsIPBind $fFreeVars[]$fAllVarsMatch $fAllVars[] $fAllVarsDecl $fAllVars[]0$fAllVarsBinds$fAllVarsMaybe $fAllVarsStmt $fAllVars[]1 $fAllVars[]2$fAllVarsQualStmt$fFreeVarsGuardedRhs $fFreeVarsRhs $fFreeVars[]0 $fFreeVarsAlt $fAllVars[]3 $fAllVarsPat $fFreeVars[]1 $fFreeVarsExp $fAllVarsVars $fFreeVarsSet $fMonoidVarsopExpexpOp moduleDecls moduleName moduleImports modulePragmasfromModuleNamefromChar fromPChar fromString fromPString fromParen fromPParen fromTyParen fromDerivingisVarisConisApp isInfixAppisListisAnyAppisParenisIfisLambdaisMDoisBoxed isDerivDecl isPBangPat isPFieldPun isFieldPun isPWildCardisPFieldWildcardisFieldWildcard isPViewPat isParComp isPatTypeSig isQuasiQuote isSpliceDecl isNewType isRecStmt isClsDefSig isSectionallowRightSectionallowLeftSectionunqualfromQual isSpecialisDolisDotisDotAppdotAppdotAppsisLexemeisWHNF getEquations toFunBindreplaceBranchesappsfromAppsfromAppsWithLoc childrenApps descendApps descendAppsM universeApps transformAppstransformAppsM universeS childrenSuniverseParentExp showSrcLoctoSrcLoc toSrcSpan nullSrcLoc nullSrcSpanandropAnn/=~=elem_notElem_nub_ intersect_neqListeqListeqMaybe getFixityNamedtoNamed fromNamedVar_NoVar_PVar_NoPVar_PApp_NoPApp_App1NoApp1App2NoApp2Viewview~=isCtorisSym $fNamedDecl$fNamedDeclHead $fNamedMatch $fNamedQOp$fNamedTyVarBind $fNamedPat$fNamedModuleName $fNamedName $fNamedName0 $fNamedQName $fNamedQName0 $fNamedExp $fViewExpVar_$fViewPatPVar_$fViewPatPApp_ $fViewExpApp1 $fViewExpApp2baseGHC.Basemempty scopeImports possModules possImport $fMonoidScopehsColourConsole hsColourHTMLparallel parallel1 parallelNcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameGHC.IO.Handle.TypesHandleBoxreadFileEncoding' exitMessagegzip descendIndexuniverseParentuniverseParentBidefaultExtensions badExtensionscmdFiles cmdReports cmdGivenHints cmdWithHintscmdColor cmdIgnore cmdShowAll cmdExtension cmdLanguage cmdEncodingcmdCross cmdFindHints cmdDataDircmdJson cmdNoSummary cmdSerialise cmdRefactorcmdRefactorOptionscmdWithRefactorcmdProof cmdTempDir ColorModeNeverAlwaysAuto cmdUseColourCmdCmdMaincmdUtf8cmdPath cmdCppDefine cmdCppInclude cmdCppFile cmdCppSimple cmdCppAnsi cmdNoExitCodeCmdGrep cmdPatternCmdTest cmdQuickCheck cmdTypeCheckCmdHSEgetCmd automatic exitWithHelp cmdHintFiles cmdExtensionscmdCpp<\> resolveFilegetFile getModule getHintFile getExtensions readExtension$fDefaultColorModeisAtom needBracketparendescendBracket rebracket1BracketsremParenaddParentransformBracket appsBracket $fBracketsPat$fBracketsType $fBracketsExpevaluate evaluate1GHC.IO.Encodingutf8contextparseFlagsNoLocationsparseFlagsSetLanguagerunCpp applyFixity cheapFixities askFixitytoRefactSrcSpantoSS niceLambdaR simplifyExp niceLambda niceDotAppSettingSettingClassifySettingMatchExpBuiltinInfixdefaultHintName getSeverity isUnifyVaraddInfix showNotes readSettings2moduleSettings_ readHints readSetting readPragmareadSide readFuncsgetNameserrorOn findSettings2 findSettingfindExp $fShowNoteNothing showIdeaJson showIdeasJsonshowANSIshowExrawIdearawIdeaNideasuggestwarnideaNsuggestNwarnN $fShowIdeaMonoid CrossHintModuHintDeclHint $fMonoidHintlistHintlistDecllistExplistPatisAppendcheckspchecks usePStringusePList useStringuseListuseCons typeListChar typeString stringTypeBranchBListBNilBConsListCase listRecHint recursiveStr recursive matchListRecasDofindCasedelCons eliminateArgs findBranchfindPatreadPatbadFuncs monadHintmonadExpmiddle monadCall monadReturn monadJoinmonadLetfromRet lambdaHint lambdaDecl etaReduce lambdaExp fromLambda bracketHint tyConToRtypefindTypebracketbracketWarning bracketError fieldDecldollar splitInfix namingHintnamingshorten suggestName replaceNamesPattern patternHinthintsasGuards asPatternpatHintexpHint importHintwrapsimplify simplifyHeadreducereduce1newNames hierarchy desugarQual multiExport PragmaIdea SingleComment MultiCommentOptionsToComment pragmaHint optToPragma pragmaIdea languageDupes strToLanguage optToLanguagenoNewtypeDerivingderivesextensionsHintminimalExtensionswarningsusedExtused hasDeriveun&hasThasT2hasShasDupe duplicateHintdupesfindaddduplicateOrderedpragmas commentHintgrab unsafeHint isUnsafeDecl isUnsafeApp isUnsafeFun writeTemplate writeReport writeIdea escapeHTMLclassifyMissingTheoremoriginallocationlemmaproof missingFuncsisabelleTheoremsreparen hintTheorems $fShowTheorem $fEqTheoremdescendBracketTemplate NameMatchfmapAn readMatchreadRule dotVersion findIdeas matchIdeatransformBracketTemplatesubstTnmOpunifyunifyDefunifyExp rebracketunifyPatisOtherchecksubst checkSide checkDefine performEval unqualify addBracketbuiltinresolveBuiltin testTypeChecktestQuickCheckrunMains toTypeCheck toQuickCheckisRemovesError applyHintFileapplyHintFiles executeHintsparseModuleApplyallHintsclassify_docsrunGrepTesttestAnnotations parseTestFile parseTesttest testNameshlintHSE hlintTest hlintGrep hlintMain runHlintMainreadAllSettingsrunHintsrunRefactoring checkRefactor evaluateList Suggestion_fromSuggestion$fShowSuggestion