VZv   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  5P5fromNamed will return "" when it cannot be represented  toNamed may crash on ""         FAn encoding is a function to change a handle to a particular encoding  !"#$%&'()*" +,- !"#$%&'()*.  !"#$%&'()* /0124Is this item lexically requiring no bracketing ever  i.e. is totally atomic 3=Is the child safe free from brackets in the parent position. ) Err on the side of caution, True = don't know 41Add a Paren around something if it is not atomic 5*Descend, and if something changes then add/remove brackets appropriately 67Add/=remove brackets as suggested needBracket at 1-level of depth 8 /012345678 /0123012345678 9:99 ;<=>?@ABCD;@ABCD;@ABCD .EFGHIJKLMNOPQRSTUVWXYrun in test mode? Zwhich files to run it on [which settingsfiles to use \*which settignsfiles were explicitly given ]where to generate reports ^the hints to ignore _display all skipped items `color the result aoptions for CPP bthe data directory cthe text encoding d"source files to look for hints in e#the extensions (may be prefixed by No) fsupress all console output ghijk*Exit out if you need to display help info lmnopqrWXYZ[\]^_`abcdefghijklWXYZ[\]^_`abcdefXYZ[\]^_`abcdefgjihhijkl stuvwxyz{|Parse a Haskell module }~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ /0123456789stuvwxyz|~ stuvwxtuvwxyz|~ How severe an error is. JErrors are suggestions that should nearly always be a good idea to apply. RWarnings are things that some people may consider improvements, but some may not. &Ignored errors are only returned when --show is passed.     1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ /0123456789stuvwxyz|~  /Generate a lambda, but prettier (if possible). D Generally no lambda is good, but removing just some arguments isn' t so useful. <Convert expressions which have redundant junk in them away. @ Mainly so that later stages can match on fewer alternatives.          !"#$%&'()*+,-;Given a set of hints, do all the MatchExp hints type check ./0''123422 A suggestion - the Show instance is of particular use. 56;From a suggestion, extract the file location it refers to. /From a suggestion, determine how severe it is. YThis function takes a list of command line arguments, and returns the given suggestions. # To see a list of arguments type  hlint --help at the console. % This function writes to the stdout/stderr streams, unless --quiet is specified. As an example: 9 do hints <- hlint ["src", "--ignore=Use map","--quiet"] 6 when (length hints > 3) $ error "Too many hints!" 78 ! " # $ % & ' ()*+,-./01/02/03/04/05/06/07/08/9:/9;/9</=>/=?/=@/=A/=B/=C/=D/=E/=F/=G/=H/=I/=J/=K/=L/=M/=N/=O/PQ/PR/ST/SU/SV/SW/SX/SY/SZ/S[/S\/S]/S^/S_/S`/Sa/Sb/Sc/Sd/Se/Sf/Sg/Sg/Sh/ij/ik/il/im/in/io/ip/iq/ir/is/it/it/uv/uw/ux/uy/uz/u{/u{/|}/|~/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|///////////////////////////////////////////////////////////////////// / / / / //////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/3/6/6/7/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/E/F/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/{/|/|/}/~/////////////////////X/////Y////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / / / / ///////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/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/L/R/S/T/R/U/U/V/W/W/X/X/Y/Z/[/\]/\^/\_/\`/\a/\b/\c/\d/\e/\f/\g/\h/\i/\j/\k/\l/\m/\m/\n/\o/\p/\q/\r/\s/\s/\t/\u/\u/\v/\w/\x/\x/\y/\z/\{/\|/\}/\~/\       !"#$%&'()*+,-./0123456789:;<=>?@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 x y z { | } ~                                        !"#$%&'()*+,- % . /0 hlint-1.8.6Language.Haskell.HLintHSE.TypeHSE.Util HSE.Match HSE.NameMatchParallelUtil HSE.Bracket HSE.Evaluate Paths_hlintCmdLineHSE.AllSettingsIdea Hint.Type Hint.Match Hint.List Hint.Monad Hint.Bracket Hint.NamingHint.Structure Hint.Import Hint.PragmaHint.Extensions Hint.Util Hint.ListRec Hint.LambdaHint.AllApplyTestReportHLintSeverityErrorWarningIgnore SuggestionsuggestionLocationsuggestionSeverityhlintType_Pat_Exp_Decl_Module_Shaskell-src-exts-1.10.1Language.Haskell.Exts.AnnotatedreadExtensionsparseFileContentsWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsparseFileWithCommentsparseFileWithModeparseFileWithExtsLanguage.Haskell.Exts.ParserparseWithComments parseWithMode Parseable$Language.Haskell.Exts.InternalParserparseStmtWithCommentsparseStmtWithMode parseStmtparseTypeWithCommentsparseTypeWithMode parseTypeparseDeclWithCommentsparseDeclWithMode parseDeclparsePatWithCommentsparsePatWithModeparsePatparseExpWithCommentsparseExpWithModeparseExpparseModuleWithCommentsparseModuleWithMode parseModule&Language.Haskell.Exts.Annotated.Fixity applyFixities AppFixityLanguage.Haskell.Exts.Pretty prettyPrintprettyPrintWithModeprettyPrintStyleMode defaultMode PPOffsideRule PPSemiColonPPInLine PPNoLayoutPPLayoutIndent linePragmaslayoutspacing onsideIndent whereIndent letIndent caseIndentdoIndent classIndentPPHsModePretty Language.Haskell.Exts.ParseMonaddefaultParseModefromParseResultParseOk ParseFailed ParseResultfixitiesignoreLinePragmasignoreLanguagePragmas extensions parseFilename ParseModeLanguage.Haskell.Exts.Fixityinfix_infixl_infixr_ baseFixitiespreludeFixitiesFixityLanguage.Haskell.Exts.ExtensionclassifyExtensionknownExtensions glasgowExts impliesExtsOverlappingInstancesUndecidableInstancesIncoherentInstances RecursiveDoParallelListCompMultiParamTypeClassesNoMonomorphismRestrictionFunctionalDependenciesExplicitForall Rank2Types RankNTypesPolymorphicComponentsExistentialQuantificationScopedTypeVariablesImplicitParamsFlexibleContextsFlexibleInstancesEmptyDataDeclsCPPKindSignatures BangPatternsTypeSynonymInstancesTemplateHaskellForeignFunctionInterfaceArrowsGenericsNoImplicitPreludeNamedFieldPuns PatternGuardsGeneralizedNewtypeDerivingExtensibleRecordsRestrictedTypeSynonyms HereDocuments MagicHash TypeFamiliesStandaloneDeriving UnicodeSyntaxPatternSignaturesUnliftedFFITypesLiberalTypeSynonyms TypeOperatorsRecordWildCards RecordPunsDisambiguateRecordFieldsOverloadedStringsGADTs MonoPatBindsNoMonoPatBindsRelaxedPolyRecExtendedDefaultRules UnboxedTuplesDeriveDataTypeableConstrainedClassMethodsPackageImportsImpredicativeTypesNewQualifiedOperatorsPostfixOperators QuasiQuotesTransformListComp ViewPatterns XmlSyntaxRegularPatterns TupleSectionsUnknownExtension Extension*Language.Haskell.Exts.Annotated.ExactPrint exactPrintExactPLanguage.Haskell.Exts.CommentsComment%Language.Haskell.Exts.Annotated.Build metaConPat metaFunctionnameBind patBindWherepatBind simpleFunsfungenNameswildcardnoBindsbindsletStmtgenStmtqualStmtpParenpeListeListlistEaltGWaltcaseEletElamEdoEintPcharPstrPintEcharEstrEfunction pvarTuplevarTuplepTupletuplepAppappFuninfixAppapppvarqvaropvarsymname&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 ccall_name stdcall_namethreadsafe_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 ModuleNameUnitConListConFunConTupleConConsUnboxedSingleCon SpecialConQualUnQualSpecialQNameIdentSymbolNameIPDupIPLinIPNameQVarOpQConOpQOpVarOpConOpOpVarNameConNameCNameModuleXmlPage XmlHybrid ModuleHeadExportSpecListEVarEAbs EThingAll EThingWithEModuleContents ExportSpec importSpecsimportAs importPkg importSrcimportQualified importModule importAnn ImportDeclImportSpecListIVarIAbs IThingAll IThingWith ImportSpec AssocNone AssocLeft AssocRightAssocTypeDecl TypeFamDeclDataDecl GDataDecl DataFamDecl TypeInsDecl DataInsDecl GDataInsDecl ClassDeclInstDecl DerivDecl InfixDecl DefaultDecl SpliceDeclTypeSigFunBindPatBindForImpForExpRulePragmaDeclDeprPragmaDeclWarnPragmaDecl InlineSigInlineConlikeSigSpecSig SpecInlineSigInstSig AnnPragmaDeclAnnTypeAnn ModuleAnn AnnotationDataTypeNewType DataOrNewDHeadDHInfixDHParenDeclHeadIHeadIHInfixIHParenInstHeadDerivingBDeclsIPBindsBindsIPBindMatch InfixMatch QualConDeclConDecl InfixConDeclRecDecl FieldDeclGadtDeclClsDecl ClsDataFamClsTyFamClsTyDefInsDeclInsTypeInsDataInsGDataBangedTy UnBangedTy UnpackedTyBangType UnGuardedRhs GuardedRhssRhs GuardedRhsTyForallTyFunTyTupleTyListTyAppTyVarTyConTyParenTyInfixTyKindTypeBoxedUnboxed KindedVar UnkindedVar TyVarBindKindStarKindBangKindFn KindParenKindVarKindFunDepCxSingleCxTupleCxParenCxEmptyContextClassAInfixAIParamEqualPAsstCharStringIntFracPrimIntPrimWord PrimFloat PrimDoublePrimChar PrimStringLiteralVarIPVarConLitInfixAppAppNegAppLambdaLetIfCaseDoMDoTuple TupleSectionListParen LeftSection RightSection RecConstr RecUpdateEnumFrom EnumFromTo EnumFromThenEnumFromThenToListCompParComp ExpTypeSigVarQuoteTypQuote BracketExp SpliceExp QuasiQuoteXTagXETagXPcdataXExpTag XChildTag CorePragma SCCPragma GenPragmaProc LeftArrApp RightArrAppLeftArrHighAppRightArrHighAppExpXNameXDomNameXAttr ExpBracket PatBracket TypeBracket DeclBracketBracketIdSplice ParenSpliceSplice PlayRiskyPlaySafeSafetyStdCallCCallCallConvLanguagePragma OptionsPragmaAnnModulePragma ModulePragmaGHCHUGSNHC98YHCHADDOCK UnknownToolTool ActiveFrom ActiveUntil ActivationRuleRuleVar TypedRuleVarDeprTextWarnText WarningTextPVarPLitPNegPNPlusK PInfixAppPAppPTuplePListPParenPRecPAsPat PWildCardPIrrPat PatTypeSigPViewPatPRPatPXTagPXETagPXPcdataPXPatTagPXRPats PExplTypeArg PQuasiQuotePBangPatPatPXAttrRPStarRPStarGRPPlusRPPlusGRPOptRPOptGRPatOpRPOpRPEitherRPSeqRPGuardRPCAsRPAsRPParenRPPatRPat PFieldPat PFieldPunPFieldWildcardPatField Generator QualifierLetStmtRecStmtStmtQualStmt ThenTransThenByGroupBy GroupUsing GroupByUsing FieldUpdateFieldPun FieldWildcardAlt UnGuardedAlt GuardedAlts GuardedAltamapann AnnotatedLanguage.Haskell.Exts.SrcLoc<^^><**<+?><++> combSpanInfoinfoSpan noInfoSpan isNullSpan mergeSrcSpan mkSrcSpan srcSpanEnd srcSpanStart srcColumnsrcLine srcFilenameSrcLocsrcSpanEndColumnsrcSpanEndLinesrcSpanStartColumnsrcSpanStartLinesrcSpanFilenameSrcSpanunLocLoc srcInfoPoints srcInfoSpan SrcSpanInfo startColumn startLinefileName getPointLoc fromSrcInfo toSrcInfoSrcInfopretty-1.0.1.2Text.PrettyPrint.HughesPJMode OneLineModeLeftMode ZigZagModePageModeStylemode lineLengthribbonsPerLinestyle uniplate-1.6$Data.Generics.Uniplate.Internal.Data transformBis transformer Transformer!Data.Generics.Uniplate.OperationsholesBi contextsBi rewriteBiM rewriteBi transformBiM transformBi childrenBi universeBiparaholescontextsrewriteMrewrite transformM transformchildrenuniversedescendMdescenduniplateUniplate descendBiM descendBibiplateBiplateopExpexpOp moduleDecls moduleName moduleImports modulePragmasfromModuleNameisCharfromCharisString fromString fromParen fromPParen fromTyParendeclBindunqualfromQual isSpecialisDolisDotisDotAppdotAppdotApps getEquations toFunBindfromGuardedAlts toGuardedAltsreplaceBranchesappsfromApps childrenApps descendApps descendAppsM universeApps transformAppstransformAppsM universeS childrenSvarspvarsuniverseParentExp showSrcLoctoSrcLoc nullSrcLocandropAnnelem_nub_ intersect_neqListeqListeqMaybe getFixity isPString fromPStringisVarisApp isInfixAppisListisAnyAppisParenisLambdaisMDoisBoxed isDerivDecl isPBangPatisPExplTypeArg isPFieldPun isFieldPunisPFieldWildcardisFieldWildcard isPViewPat isParComp isPatTypeSig isQuasiQuote isSectionallowRightSectionallowLeftSectionisLexeme/=~=NamedtoNamed fromNamedVar_NoVar_PVar_NoPVar_App1NoApp1App2NoApp2Viewview~=isConisSymScope NameMatch moduleScope emptyScope scopeImports nameMatch nameQualify possModules possImportparallel parallel1 parallelNBoxEncodingEncoding_InternalgetDirectoryContentsRecursive partitionM concatMapMconcatMconcatZipWithMlistM'headDef unzipEitherlimitltrimtrimBy groupSortFstdisjointunsnocswapdefaultEncodingreadFileEncoding newEncoding exitMessage captureOutput readFile'gzip descendIndexuniverseParentuniverseParentBidefaultExtensionsnotNullisLeftisRight badExtensionsBracketsremParenaddParenisAtom needBracketparendescendBrackettransformBracket rebracket1 appsBracketevaluate evaluate1versionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileNameOptsQuietLanguage FindHintsDataDirExt SimpleCppIncludeDefineColorShowAllSkipHintsVerHelpCmdcmdTestcmdFiles cmdHintFiles cmdGivenHints cmdReports cmdIgnore cmdShowAllcmdColorcmdCpp cmdDataDir cmdEncoding cmdFindHints cmdLanguagecmdQuietCppFlagsCpphs CppSimpleNoCppgetCmd exitWithHelp versionTexthelpTextgetFile getHintFile getExtensions readExtension ParseFlagscppFlagslanguageencodinginfixes parseFlagsparseFlagsNoLocationsrunCpp parseString applyFixity parseFile parseResultSettingInfixBuiltinMatchExpscopelhsrhssideClassify severityShintSfuncSFuncName getSeverity isUnifyVar readSettings readHints readSetting readPragmareadSide readFuncsgetNameserrorOn findSettings findSettingfindExpdefaultHintName isClassify isMatchExp ParseErrormsgfuncseverityhintlocfromtoshowANSIshowEx isParseErrorrawIdeaideawarnerrHintModuHintmoduHintDeclHintdeclHint readMatchreadRule dotVersion findIdeas matchIdeaunifyunifyDefunifyExpunifyPatchecksubst checkSide checkDefine performEval unqualify addBracketlistHintlistDecllistExp stringTypeisAppendchecks useStringuseListuseCons typeListChar typeString monadHintmonadExp monadCallbadFuncs monadReturn monadJoinmonadLetfromRet bracketHintbracket fieldDecldollar splitInfix namingHintnamingshorten suggestName replaceNamesPattern structureHinthintsasGuards asPattern importHintwrapsimplify simplifyHeadreduce hierarchy desugarQualnewNames pragmaHint pragmaIdea languageDupes strToLanguage optToLanguageextensionsHintminimalExtensionsimpliesusedhasSun&hasThasT2has niceLambda niceDotApp simplifyExpBranchBListBConsBNilListCase listRecHint matchListRecasDofindCasedelCons eliminateArgs findBranchfindPatreadPat lambdaHint lambdaDecl etaReduce lambdaExp fromLambda staticHints dynamicHints applyHint applyHintStr parseFailedcontextparseOkallHintsclassifyResult _failures_totaltest testHintFiles testHintFiletestSourceFilestestInputOutputnameCheckHintstypeCheckHintscheckAnnotations parseTestFilecheckInputOutput writeTemplate writeReport writeIdea escapeHTMLfromSuggestionrunHints