oB_      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^4NoneAOT _`abcdefghabcdfg _`abcdefghNone!"iXReturns the number of failing tests. Warning: Not multithread safe, but is reenterant jklmniopqriopqrjklmniopqrNone!"$Ts,First string may have stars in it (the want) tuvwxyz{|}s~{tuvwxyz{|}s~Safe  NoneSafe None      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef None$:aghijklmnopqrstuvwxyz{|}~aghijklmnopqrstuvwxyz{|}~aghijklmnopqrstuvwxyz{|}~ None$MData 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.  None$9;<=QfromNamed will return "" when it cannot be represented toNamed may crash on ""& None9;?Return the variables, erring on the side of more free variables?Return the variables, erring on the side of more free variables)     $     None9;MIs this item lexically requiring no bracketing ever i.e. is totally atomicmIs the child safe free from brackets in the parent position. Err on the side of caution, True = don't know0Add 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 "#$ %!&'() "#$%!& "#$ %!&'()None$*+**+None!"0!,.which files to run it on, nothing = none given-where to generate reports.)which settignsfiles were explicitly given/(hints that are given on the command line0color the result1/Numbmer of threads to use, 0 = whatever GHC has2the hints to ignore3display all skipped items4 extensions5#the extensions (may be prefixed by No)6Rwork between source files, applies to hints such as duplicate code between modules7!source files to look for hints in8the data directory9Print a default file to stdout:display hint data as JSON;do not show the summary info<specify which hints explicitly=%Display hints in serialisation format>Run the refactor* executable to automatically perform hints?Options to pass to the refactor executable.@Path to refactor toolAa proof script to check againstB'temporary directory to put the files inCWhen to colour terminal output.D'Terminal output will never be coloured.E(Terminal output will always be coloured.FJTerminal 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.GWhere should we find the configuration files? * If someone passes cmdWithHints, only look at files they explicitly request * If someone passes an explicit hint name, automatically merge in data/hlint.yaml We want more important hints to go last, since they overrideH(Determines whether to use colour or not.=IJKLM,-./0123456789NOPQRS:;<T=>?@UABVWCDEFXYZ[G\]H^_`abcd1IJKLM8N4,-./01235679OPQRS:;<T=>?@UABVWXZG\]H_I4JKLM,-./0123456789NOPQRS:;<T=>?@,U45NOPQRSA.8-/BVW,5CDEFXYZ[G\]H^_`abcdNone$ 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 preprocessed (defaults to ).8How the file is parsed (defaults to all fixities in the base. package and most non-conflicting extensions).Default value for  .:Given some fixities, add them to the existing fixities in  .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.eUGiven a line number, and some source code, put bird ticks around the appropriate bit. fgheijkk      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"#$%!&* g  fgheijkNoneA  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).+TSuggestions are things that some people may consider improvements, but some may not.,EWarnings are suggestions that are nearly always a good idea to apply.-$Available as a setting for the user.3lmnopqrstuvwxyz{|}~ !"#$%&'()*+,-2lrmnopqstuvwxyz{|}~ !"#($%&')-*+, lmnopqrstuvwxyz{|}~ !"#$%&'()*+,-None$@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. Read an {- ANN }-} pragma and determine if it is intended for HLint. Return Nothing if it is not an HLint pragma, otherwise what it means.  None!"Given a source file, guess some hints that might apply. Returns the text of the hints (if you want to save it down) along with the settings to be used.None!"$ILRead a config file in YAML format. Takes a filename, and optionally the contents. Fails if the YAML doesn't parse or isn't valid HLint YAMLBFailed when parsing some value, give an informative error message./"NoneNone!" .An idea suggest by a Hint.0'The module the idea applies to, may be ""I if the module cannot be determined or is a result of cross-module hints.1YThe declaration the idea applies to, typically the function name, but may be a type name.2The severity of the idea, e.g. ,.33The name of the hint that generated the idea, e.g.  "Use reverse".4$The source code the idea relates to.54The contents of the source code the idea relates to.6The suggested replacement, or + for no replacement (e.g. on parse errors).73Notes about the effect of applying the replacement.8How to perform this idea./012345678!#($%&')-*+,./012345678. /012345678NoneNone90Functions to generate hints, combined using the  instance.;DGiven a list of modules (and their scope information) generate some .s.<>Given a single module and its scope information generate some .s.=<Given a declaration (with a module and scope) generate some .[s. This function will be partially applied with one module/scope, then used on multiple  values.>Given a comment generate some .s. 9:;<=>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"#$%!&* g#($%&')-*+,./0123456789:;<=>9:;<=>None$  NoneNoneTThe 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 findNoneNone-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 dataNone!"T   None$:          !None!"$:T{Descend, and if something changes then add/remove brackets appropriately in both the template and the original expression. !"#$%&'()*+ !"#$%&'()*+"None$: ,-./01234- ,-./01234#None:56789:556789:$None;<=;;<=%None$>?@ABCDE@>?@ABCDE&None$: FGHIJKLMNOJFGHIJKLMNO'None!" PQRSTUVWXYZ[\T PQRSTUVWXYZ[\(None]^_`]]^_`)None$aGenerate a lambda, but prettier (if possible). Generally no lambda is good, but removing just some arguments isn't so useful.b{Convert expressions which have redundant junk in them away. Mainly so that later stages can match on fewer alternatives.cadbcabcadb*None$efghieefghi+None$jklmnopqrstuvwxyz{qjklmnopqrstuvwxyz{,None?WA list of the builtin hints wired into HLint. This list is likely to grow over time.|=A list of builtin hints, currently including entries such as "List" and  "Bracket".PTransform a list of ? or  into a 9.}Transform a list of  into a 9.?@ABCDEFGHIJKLMNO~|P}9:;<=>?@ABCDEFGHIJKLMNO|P}?@ABCDEFGHIJKLMNO~|P}-None!".None!":Guess why a theorem is missing  /None:Given a set of hints, do all the HintRule hints type checkBGiven a set of hints, do all the HintRule hints satisfy QuickCheck0NoneDApply hints to a single file, you may have the contents of the file.AApply hints to multiple files, allowing cross-file hints to fire.Q*Given a way of classifying results, and a 91, apply to a set of modules generating a list of . s. The .& values will be ordered within a file.6Given a set of modules, it may be faster pass each to Q 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.QQQ1None2None!"3None!"4None!"LRvThis 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.RRRNoneSA suggestion - the Show instance is of particular use.T|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!"U:From a suggestion, extract the file location it refers to.V.From a suggestion, determine how severe it is.STUVW )-*+,STUV TSUV)*+,-STUVWNone!"Z1Get the Cabal configured data directory of HLint.['The function produces a tuple containg   (for  ), and  and 9 for QC. It approximates the normal HLint configuration steps, roughly: Use ^ with ]+ to find and load the HLint settings files.Use  and P to transform the outputs of ^.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.\ A version of [ which respects some of the arguments supported by HLint. If arguments unrecognised by HLint are used it will result in an error. Arguments which have no representation in the return type are silently ignored.]Given a directory (or  to imply Z), 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.^-Given a function to load a module (typically ].), and a module to start from (defaults to  HLint.HLint/) find the information from all settings files.ISnippet from the documentation, if this changes, update the documentationZ[\]^X  !"#($%&')-*+,./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRZ[\]^XRQ./012345678)*+,-#$%&'( !"Z[\^]?@ABCDEFGHIJKLMNO9:;<=>P Z[\]^ 5 6 7 89:;<==>?@AABCDEFGGHIJKLMNOOPQRSTUVWXTYZ[\]^_`abcdefgghijk,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,}0~4[            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDCECFCGCHCICICJCKLMLNLOLPLQLRLSLTLULVLWLXLYLYLZL[L\L]L^L_L`LaLbLcLdefegeheiejekelemeneoepeqereseteuevewewexeyeze{e{e|e}e~eeeeeeeeeeeeeeee      !"#$%&'()*+,-./00123456789:;<=>?@AABCDEEFFGHHIIJKLLMMNOPQRSTUVWXYZ[\]^_`abbcdefghijklmnopqrstuvwxyz{||}~      !""#$%&'()*+,-./0123456789:;<<=>?@ABBCDEEFGHIJKIJLIJMIJNIJOIJPIJPIJQIJRIJSIJTUVWUVXUVYUVZUV[UV\UV]UV^UV_UV`UVaUVbUVcUVdUVeUVfUVgUVhUViUVjUVkUVlUVmUVnUVoUpqUprUps t u v w x y z { | } ~                                                                                       5                                                                                ! " # $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abQcdefghijklmnopqrstuvwxyzz{|}~               !!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,"-"."/"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'O'P'Q'R'S'T'U'V'W'X'Y'Z([(\(](^)_)`)a)b*c*d*e*f*g+h+h+i+j+k+l+l+m+n+o+p+q+r+s+t+u+v+w,x,y,z-{-|-}-~.............///////00000001222223344444444444444 hlint-2.0-1kpTNeW6Mmw6b4ujKXlv4VLanguage.Haskell.HLint3Language.Haskell.HLintUtil Test.UtilTest.InputOutput Paths_hlintParallelHsColourHSE.TypeHSE.Util HSE.Scope HSE.Match HSE.FreeVars HSE.Bracket HSE.ReduceCmdLineHSE.All Config.TypeConfig.HaskellConfig.Compute Config.Yaml Config.AllIdeaRefact Hint.Type Hint.Bracket Hint.CommentHint.Duplicate Hint.ExportHint.Extensions Hint.Import Hint.List Hint.Match Hint.Monad Hint.Naming Hint.NewType Hint.Pattern Hint.Pragma Hint.Restrict Hint.Unsafe Hint.Util Hint.Lambda Hint.ListRecHint.AllReport Test.ProofTest.TranslateApplyGrepTest.AnnotationsTest.AllHLintScope scopeCreate scopeMatch scopeMoveCppFlagsNoCpp CppSimpleCpphs ParseErrorparseErrorLocationparseErrorMessageparseErrorContents ParseFlagscppFlagshseFlagsdefaultParseFlagsparseFlagsAddFixities parseModuleExHintRulehintRuleSeverity hintRuleName hintRuleScope hintRuleLHS hintRuleRHS hintRuleSide hintRuleNotesClassifyclassifySeverity classifyHintclassifyModule classifyDeclNoteIncreasesLazinessDecreasesLaziness RemovesError ValidInstanceSeverityIgnore SuggestionWarningError ideaModuleideaDecl ideaSeverityideaHintideaSpanideaFromideaToideaNoteideaRefactoringHint hintModules hintModulehintDecl hintComment HintBuiltinHintList HintListRec HintMonad HintLambda HintBracket HintNaming HintPattern HintImport HintExport HintPragmaHintExtensions HintUnsafe HintDuplicate HintRestrict HintComment HintNewType resolveHints applyHintshlintsuggestionLocationsuggestionSeverity$fShowSuggestion$fEqSuggestion$fOrdSuggestiongetHLintDataDir autoSettings argsSettingsreadSettingsFile findSettingsBox exitMessageexitMessageImpuregzip descendIndexuniverseParentuniverseParentBidefaultExtensions badExtensions withTestsResultfailurestotalrefprogresspassedfailedtested matchStar InputOutputnamefilesrunoutputexittestInputOutputparseInputOutputscheckInputOutput matchStarStarcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameparallel parallel1 parallelNhsColourConsole hsColourHTMLType_Pat_Exp_Decl_Module_S.haskell-src-exts-1.19.1-BPDfDdMbag7CqZHvn6XWY7Language.Haskell.ExtsreadExtensionsparseFileContentsWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsparseFileWithCommentsAndPragmasparseFileWithCommentsparseFileWithModeparseFileWithExts parseFileLanguage.Haskell.Exts.Build metaConPat metaFunctionnameBind patBindWherepatBind simpleFunsfungenNameswildcardnoBindsbindsletStmtgenStmtqualStmtpParenpeListeListlistEaltGWaltcaseEletElamEdoEintPcharPstrPintEcharEstrEfunction pvarTuplevarTuplepTupletuplepAppappFuninfixAppapppvarqvaropvarsymLanguage.Haskell.Exts.ParserunListOf getTopPragmasparseImportDeclWithCommentsparseImportDeclWithModeparseImportDeclparseStmtWithCommentsparseStmtWithMode parseStmtparseTypeWithCommentsparseTypeWithMode parseTypeparseDeclWithCommentsparseDeclWithMode parseDeclparsePatWithCommentsparsePatWithModeparsePatparseExpWithCommentsparseExpWithModeparseExpparseModuleWithCommentsparseModuleWithMode parseModulePragmasAndModuleNamePragmasAndModuleHeadModuleHeadAndImports NonGreedy unNonGreedyListOfLanguage.Haskell.Exts.LexerlexTokenStreamWithModelexTokenStream#Language.Haskell.Exts.InternalLexerTokenEOFSCCVarId LabelVarIdQVarId IDupVarId ILinVarIdConIdQConIdDVarIdVarSymConSymQVarSymQConSymIntTokFloatTok Character StringTok IntTokHash WordTokHash FloatTokHash DoubleTokHash CharacterHash StringHash LeftParen RightParen LeftHashParenRightHashParen SemiColon LeftCurly RightCurly VRightCurly LeftSquare RightSquareParArrayLeftSquareParArrayRightSquareComma Underscore BackQuoteDotDotDotColon QuoteColon DoubleColonEquals BackslashBar LeftArrow RightArrowAtTAppTilde DoubleArrowMinus ExclamationStar LeftArrowTailRightArrowTailLeftDblArrowTailRightDblArrowTail THExpQuote THPatQuote THDecQuote THTypQuote THCloseQuote THIdEscape THParenEscape THVarQuote THTyQuote THQuasiQuote RPGuardOpen RPGuardCloseRPCAt XCodeTagOpen XCodeTagClose XStdTagOpen XStdTagClose XCloseTagOpenXEmptyTagClose XChildTagOpenXPCDATA XRPatOpen XRPatClose PragmaEndRULESINLINEINLINE_CONLIKE SPECIALISESPECIALISE_INLINESOURCE DEPRECATEDWARNING GENERATEDCOREUNPACKNOUNPACKOPTIONSLANGUAGEANNMINIMAL NO_OVERLAPOVERLAP INCOHERENTKW_AsKW_ByKW_CaseKW_ClassKW_Data KW_Default KW_DerivingKW_DoKW_MDoKW_Else KW_Family KW_ForallKW_Group KW_HidingKW_If KW_ImportKW_InKW_Infix KW_InfixL KW_InfixR KW_InstanceKW_Let KW_Module KW_NewTypeKW_OfKW_ProcKW_RecKW_RoleKW_ThenKW_TypeKW_UsingKW_Where KW_Qualified KW_Pattern KW_Foreign KW_ExportKW_Safe KW_Unsafe KW_ThreadsafeKW_Interruptible KW_StdCallKW_CCall KW_CPlusPlus KW_DotNetKW_JvmKW_Js KW_JavaScriptKW_CApi Language.Haskell.Exts.ParseMonaddefaultParseModefromParseResult Parseable parseWithModeparseWithComments ParseResultParseOk ParseFailed ParseMode parseFilename baseLanguage extensionsignoreLanguagePragmasignoreLinePragmasfixitiesignoreFunctionArity Language.Haskell.Exts.ExactPrint exactPrintExactPLanguage.Haskell.Exts.CommentsassociateHaddockComment UnknownPragmaLanguage.Haskell.Exts.ExtensiontoExtensionListprettyExtensionparseExtensionclassifyExtensiondeprecatedExtensionsknownExtensions ghcDefault glasgowExts impliesExtsprettyLanguageclassifyLanguageknownLanguagesLanguage Haskell98 Haskell2010HaskellAllDisabledUnknownLanguage ExtensionEnableExtensionDisableExtensionUnknownExtensionKnownExtensionOverlappingInstancesUndecidableInstancesIncoherentInstancesMonomorphismRestriction MonoPatBindsMonoLocalBindsRelaxedPolyRecExtendedDefaultRulesForeignFunctionInterfaceUnliftedFFITypesInterruptibleFFICApiFFIGHCForeignImportPrim JavaScriptFFIParallelArraysArrowsTemplateHaskell QuasiQuotesImplicitParamsImplicitPreludeScopedTypeVariables UnboxedTuples BangPatterns TypeFamiliesTypeFamilyDependenciesOverloadedStringsDisambiguateRecordFieldsRecordWildCards RecordPuns ViewPatternsGADTsNPlusKPatternsDoAndIfThenElseRebindableSyntaxConstraintKinds PolyKinds DataKinds InstanceSigsStandaloneDerivingDeriveDataTypeable DeriveFunctorDeriveTraversableDeriveFoldable DeriveGenericDefaultSignaturesTypeSynonymInstancesFlexibleContextsFlexibleInstancesConstrainedClassMethodsMultiParamTypeClassesFunctionalDependencies UnicodeSyntaxExistentialQuantification MagicHashEmptyDataDeclsKindSignaturesRoleAnnotationsParallelListCompTransformListCompGeneralizedNewtypeDeriving RecursiveDoPostfixOperators TupleSections PatternGuardsLiberalTypeSynonyms RankNTypesImpredicativeTypes TypeOperatorsExplicitNamespacesPackageImportsExplicitForAllDatatypeContextsNondecreasingIndentation LambdaCase MultiWayIfBinaryLiteralsOverloadedLabels EmptyCasePatternSynonymsPartialTypeSignaturesNamedWildCardsTypeApplicationsDoRec Rank2TypesPolymorphicComponentsPatternSignaturesCPPGenericsNamedFieldPunsExtensibleRecordsRestrictedTypeSynonyms HereDocumentsNewQualifiedOperators XmlSyntaxRegularPatterns SafeImportsSafe TrustworthyLanguage.Haskell.Exts.Fixityinfix_infixl_infixr_ baseFixitiespreludeFixitiesFixity AppFixity applyFixitiesLanguage.Haskell.Exts.PrettyprettyPrimWithMode prettyPrim prettyPrintprettyPrintWithModeprettyPrintStyleMode defaultModePPLayout PPOffsideRule PPSemiColonPPInLine PPNoLayoutIndentPPHsModelayout classIndentdoIndent multiIfIndent caseIndent letIndent whereIndent onsideIndentspacing linePragmasPrettyLanguage.Haskell.Exts.SrcLoc<^^><**<+?><++> combSpanMaybe combSpanInfoinfoSpan noSrcSpan noInfoSpanspanSize isNullSpan mergeSrcSpan mkSrcSpan srcSpanEnd srcSpanStartnoLocSrcLoc srcFilenamesrcLine srcColumnSrcSpansrcSpanFilenamesrcSpanStartLinesrcSpanStartColumnsrcSpanEndLinesrcSpanEndColumnLocunLoc SrcSpanInfo srcInfoSpan srcInfoPointsSrcInfo toSrcInfo fromSrcInfo getPointLocfileName startLine startColumnLanguage.Haskell.Exts.Syntax=~= tuple_tyconunboxed_singleton_tycon list_tycon fun_tycon unit_tycontuple_tycon_nameunboxed_singleton_tycon_namelist_tycon_namefun_tycon_nameunit_tycon_name role_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 ModuleName SpecialConConsUnitConListConFunConTupleConUnboxedSingleConQNameQualUnQualSpecialNameSymbolIdentIPNameIPDupIPLinQOpQVarOpQConOpOpVarOpConOpCNameVarNameConNameModuleXmlPage XmlHybrid ModuleHeadExportSpecList ExportSpecEVarEAbs EThingWithEModuleContents EWildcard NoWildcard Namespace NoNamespace TypeNamespacePatternNamespace ImportDecl importAnn importModuleimportQualified importSrc importSafe importPkgimportAs importSpecsImportSpecList ImportSpecIVarIAbs IThingAll IThingWithAssoc AssocNone AssocLeft AssocRightDeclPatSynInstDecl ClassDeclTypeDecl TypeFamDeclClosedTypeFamDeclDataDecl GDataDecl DataFamDecl TypeInsDecl DataInsDecl GDataInsDecl DerivDecl InfixDecl DefaultDecl SpliceDeclTypeSig PatSynSigFunBindPatBindForImpForExpRulePragmaDeclDeprPragmaDeclWarnPragmaDecl InlineSigInlineConlikeSigSpecSig SpecInlineSigInstSig AnnPragma MinimalPragma RoleAnnotDeclPatternSynDirectionUnidirectionalImplicitBidirectionalExplicitBidirectionalTypeEqn AnnotationAnnTypeAnn ModuleAnnBooleanFormula VarFormula AndFormula OrFormula ParenFormulaRoleNominalRepresentationalPhantom RoleWildcard DataOrNewDataTypeNewTypeInjectivityInfo ResultSigKindSigTyVarSigDeclHeadDHeadDHInfixDHParenDHAppInstRuleIRuleIParenInstHeadIHConIHInfixIHParenIHAppDerivingBindsBDeclsIPBindsIPBindMatch InfixMatch QualConDeclConDecl InfixConDeclRecDecl FieldDeclGadtDeclClsDecl ClsDataFamClsTyFamClsTyDef ClsDefSigInsDeclInsTypeInsDataInsGDataBangTypeBangedTyLazyTy NoStrictAnnot UnpackednessUnpackNoUnpackNoUnpackPragmaRhs UnGuardedRhs GuardedRhss GuardedRhsTypeTyConTyForallTyFunTyTupleTyList TyParArrayTyAppTyVarTyParenTyInfixTyKind TyPromotedTyEqualsTySpliceTyBang TyWildCard TyQuasiQuotePromotedPromotedIntegerPromotedString PromotedCon PromotedList PromotedTuple PromotedUnitBoxedUnboxed TyVarBind KindedVar UnkindedVarKindKindStarKindFn KindParenKindVarKindApp KindTupleKindListFunDepContextCxSingleCxTupleCxEmptyAsstClassAAppAInfixAIParamEqualPParenA WildCardALiteralStringCharIntFracPrimIntPrimWord PrimFloat PrimDoublePrimChar PrimStringSignSignlessNegativeExpVarConIfListOverloadedLabelIPVarLitInfixAppAppNegAppLambdaLetMultiIfCaseDoMDoTuple TupleSectionParArrayParen LeftSection RightSection RecConstr RecUpdateEnumFrom EnumFromTo EnumFromThenEnumFromThenToParArrayFromToParArrayFromThenToListCompParComp ParArrayComp ExpTypeSigVarQuoteTypQuote BracketExp SpliceExp QuasiQuoteTypeAppXTagXETagXPcdataXExpTag XChildTag CorePragma SCCPragma GenPragmaProc LeftArrApp RightArrAppLeftArrHighAppRightArrHighAppLCaseExprHoleXNameXDomNameXAttrBracket ExpBracket PatBracket TypeBracket DeclBracketSpliceIdSplice ParenSpliceSafety PlayRiskyPlaySafePlayInterruptibleCallConvStdCallCCall CPlusPlusDotNetJvmJs JavaScriptCApi ModulePragmaLanguagePragma OptionsPragmaAnnModulePragmaToolGHCHUGSNHC98YHCHADDOCK UnknownToolOverlap Incoherent NoOverlap Activation ActiveFrom ActiveUntilRuleRuleVar TypedRuleVar WarningTextDeprTextWarnTextPatPVarPLitPNPlusK PInfixAppPAppPTuplePListPParenPRecPAsPat PWildCardPIrrPat PatTypeSigPViewPatPRPatPXTagPXETagPXPcdataPXPatTagPXRPats PQuasiQuotePBangPatPXAttrRPatOpRPStarRPStarGRPPlusRPPlusGRPOptRPOptGRPatRPOpRPEitherRPSeqRPGuardRPCAsRPAsRPParenRPPatPatField PFieldPat PFieldPunPFieldWildcardStmt Generator QualifierLetStmtRecStmtQualStmt ThenTransThenByGroupBy GroupUsing GroupByUsing FieldUpdateFieldPun FieldWildcardAlt Annotatedamapannpretty-1.1.3.3#Text.PrettyPrint.Annotated.HughesPJMode OneLineModeLeftMode ZigZagModePageModeStylemoderibbonsPerLine lineLengthstyle&uniplate-1.6.12-HwPTjtUqlBLBdBoiYevnhI!Data.Generics.Uniplate.OperationsholesBi contextsBi rewriteBiM rewriteBi transformBiM transformBi childrenBi universeBiparaholescontextsrewriteMrewrite transformM transformchildrenuniverseUniplateuniplatedescendMdescendBiplate descendBi descendBiMbiplate$Data.Generics.Uniplate.Internal.Data transformBis transformer TransformerellipsesopExpexpOp moduleDecls moduleName moduleImports modulePragmasfromModuleNamefromChar fromPChar fromString fromPString fromParen fromPParen fromTyParen fromTyBang fromDerivingisVarisConisApp isInfixAppisListisAnyAppisParenisIfisLambdaisMDoisBoxed isDerivDecl isPBangPat isPFieldPun isFieldPun isPWildCardisPFieldWildcardisFieldWildcard isPViewPat isParComp isTypeApp isPatTypeSig isQuasiQuoteisTyQuasiQuote isSpliceDecl isNewType isRecStmt isClsDefSigisTyBangisLCaseisTupleSectionisString isSectionallowRightSectionallowLeftSectionunqualfromQual isSpecialisDolisDotisDotAppdotAppdotAppsisLexeme isAssocLeft isAssocNoneisWHNF isKindHash getEquations toFunBindreplaceBranchesappsfromAppsfromAppsWithLoc childrenApps descendApps descendAppsM universeApps transformAppstransformAppsM universeS childrenSuniverseParentExp showSrcLoc toSrcSpan nullSrcLoc nullSrcSpanandropAnn/=~=elem_notElem_nub_delete_ intersect_neqListeqListeqMaybe getFixity toInfixDeclbaseGHC.Basemempty scopeImports possModules possImport $fMonoidScopeNamedtoNamed fromNamedVar_NoVar_PVar_NoPVar_PApp_NoPApp_App1NoApp1App2NoApp2Viewview~=isCtorisSym $fNamedDecl$fNamedDeclHead $fNamedMatch $fNamedQOp$fNamedTyVarBind $fNamedPat$fNamedModuleName $fNamedName $fNamedQName $fNamedExp $fViewExpVar_$fViewPatPVar_$fViewPatPApp_ $fViewExpApp1 $fViewExpApp2freeVarsallVarsFreeVarsAllVarsVarsboundfreevarsvarsspvars^+^- 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 $fMonoidVarsisAtom needBracketparendescendBracket rebracket1BracketsremParenaddParentransformBracket appsBracket $fBracketsPat$fBracketsType $fBracketsExpreducereduce1cmdFiles cmdReports cmdGivenHints cmdWithHintscmdColor cmdThreads cmdIgnore cmdShowAll cmdExtension cmdLanguagecmdCross cmdFindHints cmdDataDir cmdDefaultcmdJson cmdNoSummarycmdOnly cmdSerialise cmdRefactorcmdRefactorOptionscmdWithRefactorcmdProof cmdTempDir ColorModeNeverAlwaysAuto cmdHintFiles cmdUseColourCmdCmdMainCmdGrepCmdTestCmdHSEcmdPath cmdCppDefine cmdCppInclude cmdCppFile cmdCppSimple cmdCppAnsi cmdNoExitCode cmdPattern cmdQuickCheck cmdTypeCheckgetCmd automatic exitWithHelp cmdExtensionscmdCpp<\> resolveFilegetFile getModule getExtensions readExtension$fDefaultColorModecontextparseFlagsNoLocationsparseFlagsSetLanguagerunCpp applyFixity cheapFixities askFixitySettingSettingClassifySettingMatchExpSettingRestrictSettingArgumentBuiltinInfixRestrict restrictTyperestrictDefault restrictName restrictAsrestrictWithin RestrictTypeRestrictModuleRestrictExtension RestrictFlagRestrictFunction getSeveritygetRestrictTypedefaultHintName isUnifyVar showNotes $fShowNote readSettings readPragmaaddInfixreadFileConfigHaskell readSettingreadSide readFuncsgetNameserrorOncomputeSettings renderSetting findSettingfindExpreadFileConfigYaml parseFailValGroup groupName groupEnabled groupImports groupRulesPackage packageNamepackageModules ConfigItem ConfigPackage ConfigGroup ConfigSetting ConfigYamlnewValgetValaddVal parseArray parseObject parseObject1 parseStringparseArrayString parseBool parseField parseFieldOpt allowFieldsparseHSEparseConfigYaml parsePackage parseFixity parseGroup ruleToGroup parseRule parseRestrict parseWithinparseSeverityKey guessNameasNotesettingsFromConfigYamlasScope$fFromJSONConfigYamlreadFilesConfigNothing showIdeaJson showIdeasJsonshowANSIshowExrawIdearawIdeaNideasuggestwarnignoreideaNsuggestNwarnN $fShowIdeatoRefactSrcSpantoSSMonoid CrossHintModuHintDeclHint $fMonoidHint bracketHint tyConToRtypefindType remParensbracketbracketWarning bracketError fieldDecldollar splitInfixpragmas commentHintgrabDupe duplicateHintdupesfindaddduplicateOrdered exportHintnoNewtypeDerivingderivesextensionsHintminimalExtensionswarningsusedExtused hasDeriveun&hasThasT2hasShas isWholeFrac importHintwrapsimplify simplifyHeadcombinecombine1newNames hierarchy desugarQuallistHintlistDecllistExplistPatisAppendcheckspchecks usePStringusePList useStringuseListuseCons typeListChar typeString stringTypedescendBracketTemplate NameMatchfmapAn readMatchreadRule dotVersion findIdeas matchIdeatransformBracketTemplatesubstTnmOpunifyunifyDefunifyExp rebracketunifyPatisOtherchecksubst checkSide checkDefine performEval unqualify addBracketbadFuncs monadHintmonadExpmiddle monadCall monadReturn monadJoinmonadLetfromRet namingHintnamingshorten suggestName replaceNames newtypeHintnewtypeHintDeclsingleSimpleFieldPattern patternHinthintsasGuards asPatternpatHintexpHint PragmaIdea SingleComment MultiCommentOptionsToComment pragmaHint optToPragma pragmaIdea languageDupes strToLanguage optToLanguage RestrictItemriAsriWithin restrictHint restrictions ideaMayBreakideaNoTowithin checkPragmas checkImportscheckFunctions$fMonoidRestrictItem unsafeHint isUnsafeDecl isUnsafeApp isUnsafeFun niceLambdaR simplifyExp niceLambda niceDotApp lambdaHint lambdaDecl etaReduce lambdaExp fromLambdaBranchBListBNilBConsListCase listRecHint recursiveStr recursive matchListRecasDofindCasedelCons eliminateArgs findBranchfindPatreadPat builtinHints hintRulesbuiltin writeTemplate writeReport writeIdea escapeHTMLclassifyMissingTheoremoriginallocationlemmaproof missingFuncsisabelleTheoremsreparen hintTheorems $fShowTheorem $fEqTheorem testTypeChecktestQuickCheckrunMains toTypeCheck toQuickCheckisRemovesError applyHintFileapplyHintFiles executeHintsparseModuleApplyallHintsclassifyapplyHintsRealrunGrepTesttestAnnotations parseTestFile parseTesttest testNameshlintHSE hlintTest cmdParseFlags hlintGrep hlintMain runHlintMainreadAllSettingsrunHintsgetIdeashandleRefactoringhandleReportingrunRefactoring checkRefactor evaluateList Suggestion_fromSuggestion_docs