!?      !"#$%&'()*+,-./0123456789:;<=>INone?hlintA comment as a string.@hlint+The comment string with delimiters removed.?@ABCDEFNone=>?@APGhlintLIs this item lexically requiring no bracketing ever i.e. is totally atomic.HhlintlIs the child safe free from brackets in the parent position. Err on the side of caution, True = don't know. IJKGHLMNONonePNone %=>?HVX zQhlintAReturn the variables, erring on the side of more free variables.RhlintAReturn the variables, erring on the side of more free variables. SQTRUVWXYZ[\None$]hlint declName xQ returns the "new name" that is created (for example a function declaration) by x. If xV isn't a declaration that creates a new name (for example an instance declaration), ^ is returned instead. This is useful because we don't want to tell users to rename binders that they aren't creating right now and therefore usually cannot change._]NoneIJKGH` None %,2=>?MSX;ahlintYhow many levels each AstContext should propagate down the AST. Removed when it hits zerobhlintGThe different syntactic elements which are not represented in the AST.chlintA normal keyworddhlintA separating commaehlint#Visible type application annotationfhlintkUsed to pass information from Delta to Print when we have to work out details from the original SrcSpan.ghlint For every  Located a , use the SrcSpan and constructor name of a as the key, to store the standard annotation. These are used to maintain context in the AP and EP monadshhlint=This structure holds a complete set of annotations for an ASTihlintOffset used to get to the start of the SrcSpan, from whatever the prior output was, including all annPriorComments (field below).jhlintComments coming after the last non-comment output of the preceding element but before the SrcSpan being annotated by this Annotation. If these are changed then annEntryDelta (field above) must also change to match.khlintComments coming after the last output for the element subject to this Annotation. These will only be added by AST transformations, and care must be taken not to disturb layout of following elements.lhlint)Annotations associated with this element.mhlintCaptures the sort order of sub elements. This is needed when the sub-elements have been split (as in a HsLocalBind which holds separate binds and sigs) or for infix patterns where the order has been re-arranged. It is captured explicitly so that after the Delta phase a SrcSpan is used purely as an index into the annotations, allowing transformations of the AST including the introduction of new Located items or re-arranging existing ones.nhlintPOccasionally we must calculate a SrcSpan for an unlocated list of elements which we must remember for the Print phase. e.g. the statements in a HsLet or HsDo. These must be managed as a group because they all need eo be vertically aligned for the Haskell layout rules, and this guarantees this property in the presence of AST edits.ohlint)Marks the start column of a layout block.phlint%A relative positions, row then columnqhlintA Haskell comment. The  AnnKeywordId. is present if it has been converted from an  AnnKeywordIdf because the annotation must be interleaved into the stream and does not have a well-defined positionrhlint0The contents of the comment including separatorsshlint?Needed to uniquely identify two comments with the same contentsthlintIWe sometimes turn syntax into comments in order to process them properly.uhlintMake an unwrapped AnnKey for the LHsDecl case, a normal one otherwise.Xvwxyz{|}~abcdefghijklmnopqrstu Safe=hlintParse a GHC extension None= None># None=>?@A> IJKGHNone"#%XGhlintLeft bias pair unionhlint0Replaces an old expression with a new expression8Note that usually, new, inp and parent are all the same.hlint>A parent in this case is an element which has the same SrcSpanhlintnPerform the necessary adjustments to annotations when replacing one Located thing with another Located thing.For example, this function will ensure the correct relative position and make sure that any trailing semi colons or commas are transferred.hlintLower level version of  modifyAnnKeyhlint Convert a Refact.Types.SrcSpan to a SrcLoc.SrcSpanNone"#%PNhlintvRearrange infix expressions to account for fixity. The set of fixities is wired in and includes all fixities in base.hlint$All fixities defined in the Prelude.hlint)All fixities defined in the base package.Note that the +++h operator appears in both Control.Arrows and Text.ParserCombinators.ReadP. The listed precedence for ++++ in this list is that of Control.Arrows.NoneMNNone%=?@AOQ NoneMONone %=>?@AHPVQhlint'dotApp a b' makes 'a . b'.hlint'paren e' wraps e in parens if e is non-atomic.IJKGHLNONoneRW?@ABCDEFIJKGHLNOPSQTRUVWXYZ[\_]`NoneT#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None>PkhlintnLike needBracket, but with a special case for a . b . b, which was removed from haskell-src-exts-util-0.2.2hlintHDescend, and if something changes then add/remove brackets appropriatelyhlint/This extension implies the following extensionshlint5This extension is implied by the following extensionshlint;(a, bs) means extension a implies all of bs. Taken from Xhttps://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#language-optionsi      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^None%Mv_hlintMData type representing the modules in scope within a module. Created with ` and queried with a and b. Note that the c _ is not equivalent to `6 on an empty module, due to the implicit import of Prelude.`hlint Create a _3 value from a module, based on the modules imports.ahlinthGiven a two names in scopes, could they possibly refer to the same thing. This property is reflexive.bhlintGiven 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._`dabNone%=?@AxehlintQfromNamed will return "" when it cannot be represented toNamed may crash on ""efghijklmnopqrsNone%y tSafeyPuvNoneywSafeyxyz{|}~Nonez)NoneESX~hlintTExtensions we turn on by default when parsing. Aim to parse as many files as we can.hlintExtensions we turn on when reading config files, don't have to deal with the whole world of variations - in particular, we might require spaces in some places.None%>Phlint Result of , representing a parsed module.hlintA parse error.hlintLocation of the error.hlint%Message about the cause of the error.hlint3Snippet of several lines (typically 5) including a >' character pointing at the faulty line.hlint Created with  , used by .hlint*How the file is preprocessed (defaults to  ). hlint8How the file is parsed (defaults to all fixities in the base. package and most non-conflicting extensions). hlint$What C pre processor should be used. hlintNo pre processing is done. hlintLines prefixed with # are stripped. hlintThe cpphs library is used.hlint0Convert a GHC source loc into an HSE equivalent.hlint1Convert a GHC source span into an HSE equivalent.hlintDefault value for .hlint:Given some fixities, add them to the existing fixities in .hlint4Extract a list of all of a parsed module's comments.hlintUtility called from  and .hlint>Error handler dispatcher. Invoked when HSE parsing has failed.hlintiAn error handler of last resort. This is invoked when HSE parsing has failed but apparently GHC has not!hlint6The error handler invoked when GHC parsing has failed.hlintProduce a pair of lists from a F value representing language extensions to explicitly enable/disable.hlintParse 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 k), the filename, and optionally the contents of that file. This version uses both hs-src-exts AND ghc-lib.hlintUGiven a line number, and some source code, put bird ticks around the appropriate bit.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`dabefghijklmnopqrst  NoneOhlintHDon't crash in case ghc gives us a "fake" span, opting instead to show 0 0 0 0 coordinates.!None%hlintGenerate a lambda, but prettier (if possible). Generally no lambda is good, but removing just some arguments isn't so useful."NoneɤhlintExtra command-line argumenthlintA  LHS ==> RHS style hint rule.hlintDefault severity for the hint.hlintName for the hint.hlint(Module scope in which the hint operates.hlintLHShlintRHShlint)Side condition, typically specified with  where _ = ....hlint$Notes about application of the hint.hlintHow to classify an Idea. If any matching field is "" then it matches everything.hlintSeverity to set the Idea to.hlint Match on Idea field ideaHint.hlint Match on Idea field  ideaModule.hlint Match on Idea field ideaDecl.hlint0A note describing the impact of the replacement.hlint=The replacement is increases laziness, for example replacing reverse (reverse x) with x makes the code lazier.hlint=The replacement is decreases laziness, for example replacing (fst x, snd x) with x makes the code stricter.hlint6The replacement removes errors, for example replacing  foldr1 (+) with sum removes an error on [], and might contain the text "on []".hlintIThe 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.hlint8The replacement requires this extension to be available.hlintAn arbitrary note.hlintHow severe an issue is.hlintGThe issue has been explicitly ignored and will usually be hidden (pass --show+ on the command line to see ignored ideas). hlintTSuggestions are things that some people may consider improvements, but some may not.!hlintEWarnings are suggestions that are nearly always a good idea to apply."hlint$Available as a setting for the user.;"! #None"#>uhlintGuess why a theorem is missing$None"# #hlintAn idea suggest by a Hint.%hlint1The modules the idea is for, usually a singleton.&hlintkThe declarations the idea is for, usually a singleton, typically the function name, but may be a type name.'hlintThe severity of the idea, e.g. !.(hlint3The name of the hint that generated the idea, e.g.  "Use reverse".)hlint$The source code the idea relates to.*hlint4The contents of the source code the idea relates to.+hlintThe suggested replacement, or ^+ for no replacement (e.g. on parse errors).,hlint3Notes about the effect of applying the replacement.-hlintHow to perform this idea+"! #$,(%&')*+-%None"#Mhlint$Returns the number of failing tests.&NoneDhlint:Given a set of hints, do all the HintRule hints type checkhlintBGiven a set of hints, do all the HintRule hints satisfy QuickCheck'None"#%Xyhlint,First string may have stars in it (the want)(None"#)None"#Khlint Print an * with trailing null-terminator and newlineHThe trailing newline will be ignored, but makes the output more readablehlintConvert an hlint #, to a datatype more easily serialized for CC*None.hlint0Functions to generate hints, combined using the  instance.hlintDGiven a list of modules (and their scope information) generate some #s.hlint>Given a single module and its scope information generate some #s.hlint<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.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`dabefghijklmnopqrst "! #$,(%&')*+-.+None6,None%> -None% .None$ hlintwGiven a declaration, returns the suggested "newtype"ized declaration following these guidelines: * Types ending in a "Q\" are __ignored__, because they are usually unboxed primitives - @data X = X Int * ExistentialQuantification stuff is ignored - data X = forall t. X t1 * Constructors with (nonempty) constraints are ignored - data X a = (Eq a) => X a- * Single field constructors get newtyped - data X = X Int -> newtype X = X Int4 * Single record field constructors get newtyped - data X = X {getX :: Int} -> Cnewtype X = X {getX :: Int}@ * All other declarations are ignored. hlintGChecks whether its argument is a "simple constructor" (see criteria in singleSimpleFieldNew^) returning the type inside the constructor if it is. This is needed for strictness analysis. hlintThe "Bang" here refers to , which notably also includes UNPACK pragmas!/None%>0None%>hlint do ...; x  -return y; ... == do ...; let x = y; ...hlintMatch return x to Just x.1None"#% 52None%> 3None% 4None"#X 5NoneX}hlint+Classes that can't require newtype derivinghlint>Classes that can appear as stock, and can't appear as anyclasshlint0What is derived on newtype, and on data type  'deriving'J declarations may be on either, so we approximate as both newtype and data6NoneHV7None>XhlintThe 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 find8None9None%>HVXW :None!";None"#HV#<None%>MX$hlintCA list of substitutions. A key may be duplicated, you need to call check( to ensure the substitution is valid.%hlintUnpack the substitution&hlintPerform a substitution'hlint(Unification, obeys the property that if  unify a b = s, then substitute s a = b.$%(&)=None"#%>X*>None+hlintWA list of the builtin hints wired into HLint. This list is likely to grow over time.,hlint=A list of builtin hints, currently including entries such as "List" and  "Bracket".-hlintTransform a list of + or  into a ...hlintTransform a list of  into a .. .,-.?None"#%MP /hlintRead 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 YAML0hlintBFailed when parsing some value, give an informative error message.1/2@None%PX&3hlint@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.4hlint 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.5647ANone'8BNone"#)9hlintGiven 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.9CNone8:hlintDApply hints to a single file, you may have the contents of the file.;hlintAApply hints to multiple files, allowing cross-file hints to fire.<hlint*Given a way of classifying results, and a .1, apply to a set of modules generating a list of # s. The #& values will be ordered within a file.9Given a set of modules, it may be faster to pass each to < 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).=hlintbGiven a list of settings (a way to classify) and a list of hints, run them over a list of modules.>hlintbReturn either an idea (a parse error) or the module. In IO because might call the C pre processor.?hlint,Find which hints a list of settings implies.@hlintIGiven some settings, make sure the severity field of the Idea is correct.:;<DNone"#%9WAENone9BFNone2T~ Chlint.which files to run it on, nothing = none givenDhlintwhere to generate reportsEhlint)which settignsfiles were explicitly givenFhlint(hints that are given on the command lineGhlint)groups that are given on the command lineHhlintuse git ls-files to find filesIhlintcolor the resultJhlint/Numbmer of threads to use, 0 = whatever GHC hasKhlintthe hints to ignoreLhlintdisplay all skipped itemsMhlint extensionsNhlint#the extensions (may be prefixed by No)OhlintRwork between source files, applies to hints such as duplicate code between modulesPhlint!source files to look for hints inQhlintthe data directoryRhlintPrint a default file to stdoutShlintdisplay hint data as JSONThlint(display hint data as Code Climate IssuesUhlintdo not show the summary infoVhlintspecify which hints explicitlyWhlint%Display hints in serialisation formatXhlintRun the refactor* executable to automatically perform hintsYhlintOptions to pass to the refactor executable.ZhlintPath to refactor tool[hlinta proof script to check against\hlint'temporary directory to put the files in]hlintWhen to colour terminal output.^hlint'Terminal output will never be coloured._hlint(Terminal output will always be coloured.`hlintJTerminal output will be coloured if $TERM and stdout appear to support it.ahlintWhere 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 overridebhlint(Determines whether to use colour or not.chlintTemporary filehlint%File to resolve, may be "-" for stdin5 defghiMQHCDEFGIJKLNOPRjklmnSTUVopWXYZq[\rstuavwbcGNone"#UxHNone"#P_/hlintvThis 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 your server with untrusted input./yNone"# 0hlint1Get the Cabal configured data directory of HLint.1hlint'The function produces a tuple containg  (for  ), and  and . for 6C. It approximates the normal HLint configuration steps, roughly: Use 5 with 4+ to find and load the HLint settings files.Use  and 2 to transform the outputs of 5.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.2hlint]The identity function. In previous versions of HLint this function was useful. Now, it isn't.3hlint A version of 1 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.4hlintGiven a directory (or ^ to imply 0), 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.5hlint-Given a function to load a module (typically 4.), and a module to start from (defaults to  hlint.yaml/) find the information from all settings files.zhlintSplit a list of 0 for separate use in parsing and hint resolution6hlint*Given a way of classifying results, and a .1, apply to a set of modules generating a list of # s. The #& values will be ordered within a file.9Given a set of modules, it may be faster to pass each to 6 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).{hlintISnippet from the documentation, if this changes, update the documentation7hlint Create a N from GHC annotations and module tree. Note that any hints that work on the haskell-src-extsn won't work. It is assumed the incoming parse module has not been adjusted to account for operator fixities.8 "! #$,(%&')*+-./012345678/6#$,(%&')*+-"! 01354.27 INone8 "! #$,(%&')*+-./01234567None8hlintA suggestion - the Show instance is of particular use.9hlint|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!":hlint:From a suggestion, extract the file location it refers to.;hlint.From a suggestion, determine how severe it is. "! 89:; 98:;"! |JKKLMNOOPQRSTUVWX"Y"Y"Z"["\"]"^"_"`"a"b"c"^"d"e"f"g"h$$$$$i$j$k$l$m$n$o$p$q*rHstuvwxyz{fs|}~                                                                       !"#$%&'()*+,-./0123456789:;<=>?=>@=>A=>B=>C=>D=>E=>F=>G=>H=IJ=IK=IL=IM=IN=IO=IP=IQ=IR=IS=IT=IU=IV=IW=IX=IY=IZ=I[=I\=I]=I^=I_=I`=Ia=Ib=Ic=Id=Ie=If=Ig=Ih=Ii=Ij=Ik=Il=Im=In=Io=Ip=Iq=Ir=Is=It=Iu=Iv=wx=wy=z{=z|=z}=z~=z=z=z=z=z=z=z=z=z=z=z=z=z=z=z=z=z=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=;D=;E=;F=;G=;H=;I=;J=;K=LM=L=L=LN=LN=OP=OQ=OR=O=O=OS=OS=OT=O=UV=UW=UX=UY=UZ=U[=U\=U]=U^=U_=U`=Ua=Ub=Ub=Uc=Ud=Ue=Uf=Ug=Uh=Ui=Uj=Uk=Ul=Um=no=np=nq=nr=ns=nt=nu=nv=nw=nx=ny=nz=n{=n|=n}=n~=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n =n =n =n =n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n!=n"=n=n=n#=n$=n%=n&=n'=n(=n)=n*=n+=n+=n,=n,=n-=n.=n.=n/=n/=n0=n1=n2=n2=n3=n3=n=n4=n5=n6=n7=n8=n=n9=n:=n;=n<=n==n>=n?=n@=nA=nB=nC=nD=nE=nF=nG=nH=nH=n =nI=nJ=nK=nL=nM=nN=nO=nP=nQ=nR=nS=nT=nU=nV=nW=nX=nY=nZ=n[=n\=n]=n^=n_=n`=na=nb=nc=nd=ne=nf=nf=ng=nh=ni=nj=nk=nl=nl=nm=nn=no=np=nq=nr=ns=nt=nu=nv=nw=nx=ny=nz=n{=n|=n}=n~=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n =n =n =n =n =n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n=n =n=n=n =n!=n"=n"=n#=n$=n%=n&=n'=n(=n(=n)=n*=n+=n+=n,=n-=n.=/0=/1=/2=/3=/4=/5=/6=/7=/8=/9=/:=/;=/<=/==/>=/?=/@=/A=/A=/B=/C=/D=/E=/E=/F=/G=/H=/I=/J=/K=/K=/L=/M=/M=/N=/O=/P=/Q=/R=/S=/T=/U=/V=WX=WY=WZ=W[=W\=W]=W^=W_=W`=Wa=Wb=Wc=Wd=We=Wf=Wg=Wh=Wi=Wj=Wk=Wl=Wm=Wn=Wo=Wp=Wq=Wr=Ws=Wt=Wu=Wv=Ww=Wx=Wy=Wz=W{=W|=W}=W~=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W=W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}}~~J    !"""""""""""""""""""""""""""""""""""""""""##$$$$$$$$$$$$$$$$$$$%%%%%%%%&&' ' ( ) ) )w****r*****+,-... .!/"0#0$0%1&2'3(4)5*5+5,5-6.7/708192:3:4;5<6<7<8<9<:<;=<>=>>>v>??@?A?B?C@D@E@F@G@HAIBJCKCLCzCMCNCOCPDQERFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFGH"hlint-2.2.3-C0bfYleAsWoJiMJiMGRAiELanguage.Haskell.HLint4Language.Haskell.HLintGHC.Util.ApiAnnotationGHC.Util.BracketsGHC.Util.DynFlagsGHC.Util.FreeVarsGHC.Util.HsDeclGHC.Util.HsType.GHC.Util.Language.Haskell.GHC.ExactPrint.Types GHC.Util.LanguageExtensions.TypeGHC.Util.ModuleGHC.Util.Outputable GHC.Util.PatGHC.Util.Refact.UtilsGHC.Util.Refact.FixityGHC.Util.SrcLoc GHC.Util.View GHC.Util.WGHC.Util.HsExprGHC.UtilHSE.TypeHSE.Util HSE.Scope HSE.Match HSE.ReduceHsColourParallel Paths_hlintTimingUtilHSE.AllRefact Hint.Util Config.Type Test.ProofIdea Test.UtilTest.TranslateTest.InputOutputReportCC Hint.Type Hint.Unsafe Hint.Pragma Hint.Pattern Hint.NewType Hint.Naming Hint.Monad Hint.ListRec Hint.List Hint.Lambda Hint.ImportHint.Extensions Hint.ExportHint.Duplicate Hint.Comment Hint.Bracket Hint.Smell Hint.Restrict HSE.Unify Hint.MatchHint.All Config.YamlConfig.Haskell Config.ReadConfig.ComputeApplyTest.AnnotationsGrepCmdLineTest.AllHLintLanguage.Haskell.HLint3ModuleEx ParseErrorparseErrorLocationparseErrorMessageparseErrorContents ParseFlagscppFlagshseFlagsCppFlagsNoCpp CppSimpleCpphsdefaultParseFlagsparseFlagsAddFixities parseModuleExClassifyclassifySeverity classifyHintclassifyModule classifyDeclNoteIncreasesLazinessDecreasesLaziness RemovesError ValidInstanceRequiresExtensionSeverityIgnore SuggestionWarningError ideaModuleideaDecl ideaSeverityideaHintideaSpanideaFromideaToideaNoteideaRefactoringHinthlintgetHLintDataDir autoSettings resolveHints argsSettingsreadSettingsFile findSettings applyHintscreateModuleExsuggestionLocationsuggestionSeverity$fShowSuggestion$fEqSuggestion$fOrdSuggestioncomment commentTextisCommentMultilinepragmasflagslangExtsmkFlags mkLangExtsisAtom' needBracket' Brackets' remParen' addParen'isApp'isOpApp' isAnyApp' isSection' baseDynFlags freeVars'allVars' FreeVars'AllVars'Vars'bound'free'vars'varss'pvars' freeVarSet'declNamebase GHC.MaybeNothingisForD' fromTyParen'acs KeywordIdG AnnSemiSep AnnTypeApp AnnStringAnnKeyAnns annEntryDeltaannPriorCommentsannFollowingCommentsannsDP annSortKeyannCapturedSpanLayoutStartColDeltaPosCommentcommentContentscommentIdentifier commentOriginmkAnnKey ListContextsLClcOnly lcInitiallcMiddlelcLast AstContextTopLevelParens LambdaExprCaseAltDerivingNoPrecedingSpace HasHiding AdvanceLine NoAdvanceLine IntercalateInIEPrefixOpPrefixOpDollarInfixOp ListStartListItemNoDarrowAddVbarExplicitNeverActiveInGadtInRecCon InClassDecl InSpliceDeclLeftMost InTypeAppCtxOnlyCtxFirst CtxMiddleCtxLastCtxPos FollowingLine AstContextSetACS'ACSRigidity NormalLayout RigidLayout AnnComment AnnConNameCN unConNameGhcTcGhcRnGhcPs AnnotationAnngetLayoutStartColDPPos ConstraintsdeltaRow deltaColumnannNone emptyAnns annGetConstr defaultACSdeclFun readExtensionmodNameunsafePrettyPrint patToStr' strToPat' fromPChar'hasPFieldsDotDot'isPFieldWildcard' mergeAnnsreplace findParent modifyAnnKey replaceAnnKey toGhcSrcSpanFunBindImportStmtNamePatDeclTypeExprModuleM applyFixitiespreludeFixities baseFixitiesSrcSpanD stripLocs'App2'PApp_'PVar_'Var_'View'view' fromParen' fromPParen'WwrapunwrapeqLoc'eqNoLoc' eqNoLocLists'dotApp'paren' noSyntaxExpr'isPar'isVar'isDot'isDol' isRecConstr' isRecUpdate' isLexeme' isReturn'apps' fromApps' universeApps'transformAppsM' rebracket1' appsBracket' varToStr' strToVar' simplifyExp' niceDotApp' niceLambda' fromChar'parseFileGhcLibparsePragmasIntoDynFlags.haskell-src-exts-1.21.1-9jRJjiNfrEsGAa1mAVgSEMLanguage.Haskell.ExtsreadExtensionsparseFileContentsWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsparseFileWithCommentsAndPragmasparseFileWithCommentsparseFileWithModeparseFileWithExts parseFileLanguage.Haskell.Exts.Build metaConPat metaFunctionnameBind patBindWherepatBind simpleFunsfungenNameswildcardnoBindsbindsletStmtgenStmtqualStmtpParenpeListeListlistEaltGWaltcaseEletElamEdoEintPcharPstrPintEcharEstrEfunction pvarTuplevarTuplepTupletuplepAppappFuninfixAppapppvarqvaropvarsymname Language.Haskell.Exts.ExactPrint exactPrintExactPLanguage.Haskell.Exts.ParserunListOf getTopPragmasparseImportDeclWithCommentsparseImportDeclWithModeparseImportDeclparseStmtWithCommentsparseStmtWithMode parseStmtparseTypeWithCommentsparseTypeWithMode parseTypeparseDeclWithCommentsparseDeclWithMode parseDeclparsePatWithCommentsparsePatWithModeparsePatparseExpWithCommentsparseExpWithModeparseExpparseModuleWithCommentsparseModuleWithMode parseModulePragmasAndModuleNamePragmasAndModuleHeadModuleHeadAndImports NonGreedy unNonGreedyListOfLanguage.Haskell.Exts.LexerlexTokenStreamWithModelexTokenStream#Language.Haskell.Exts.InternalLexerTokenEOFAtSCCVarId 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 RightArrowTAppTilde 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 OVERLAPPING OVERLAPPABLEOVERLAPS INCOHERENTCOMPLETEKW_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_PatternKW_Stock KW_AnyclassKW_Via 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 extensions parseFilename baseLanguageignoreLanguagePragmasignoreLinePragmasfixitiesignoreFunctionArityLanguage.Haskell.Exts.CommentsassociateHaddock UnknownPragmaLanguage.Haskell.Exts.Fixityinfix_infixl_infixr_Fixity AppFixityLanguage.Haskell.Exts.PrettyprettyPrimWithMode prettyPrim prettyPrintprettyPrintWithModeprettyPrintStyleMode defaultModePPLayout PPOffsideRule PPSemiColonPPInLine PPNoLayoutIndentPPHsModelayout classIndentdoIndent multiIfIndent caseIndent letIndent whereIndent onsideIndentspacing linePragmasPrettyLanguage.Haskell.Exts.Syntax=~= tuple_tyconunboxed_singleton_tycon list_tycon fun_tycon unit_tycontuple_tycon_nameunboxed_singleton_tycon_namelist_tycon_namefun_tycon_nameunit_tycon_namevia_name anyclass_name stock_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 hole_name star_namedot_name bang_name minus_name hiding_namequalified_nameas_nameunboxed_singleton_con tuple_conunit_conunboxed_singleton_con_namelist_cons_name list_con_nametuple_con_name unit_con_name main_namemain_mod prelude_mod ModuleName SpecialConConsExprHoleUnitConListConFunConTupleConUnboxedSingleConQNameQualUnQualSpecialSymbolIdentIPNameIPDupIPLinQOpQVarOpQConOpOpVarOpConOpCNameVarNameConNameXmlPage XmlHybrid ModuleHeadExportSpecList ExportSpecEVarEAbs EThingWithEModuleContents EWildcard NoWildcard Namespace NoNamespace TypeNamespacePatternNamespace ImportDecl importAnn importModuleimportQualified importSrc importSafe importPkgimportAs importSpecsImportSpecList ImportSpecIVarIAbs IThingAll IThingWithAssoc AssocNone AssocLeft AssocRightPatSynTypeSig PatSynSig InlineSigSpecSigPatBind RoleAnnotDecl DefaultDecl DerivDeclInstDeclDataDecl ClassDecl SpliceDeclTypeDecl TypeFamDeclClosedTypeFamDecl GDataDecl DataFamDecl TypeInsDecl DataInsDecl GDataInsDecl InfixDeclForImpForExpRulePragmaDeclDeprPragmaDeclWarnPragmaDeclInlineConlikeSig SpecInlineSigInstSig AnnPragma MinimalPragmaCompletePragmaPatternSynDirectionUnidirectionalImplicitBidirectionalExplicitBidirectionalTypeEqnTypeAnn ModuleAnnBooleanFormula VarFormula AndFormula OrFormula ParenFormulaRoleNominalRepresentationalPhantom RoleWildcard DataOrNewDataTypeNewTypeInjectivityInfo ResultSigKindSigTyVarSigDeclHeadDHeadDHInfixDHParenDHAppInstRuleIRuleIParenInstHeadIHConIHInfixIHParenIHApp DerivStrategy DerivStock DerivAnyclass DerivNewtypeDerivViaBindsIPBindsBDeclsIPBindMatch InfixMatch QualConDeclConDecl InfixConDeclRecDecl FieldDeclGadtDeclClsDecl ClsDataFamClsTyFamClsTyDef ClsDefSigInsDeclInsTypeInsDataInsGDataBangTypeBangedTyLazyTy NoStrictAnnot UnpackednessUnpackNoUnpackNoUnpackPragmaRhs UnGuardedRhs GuardedRhss GuardedRhsTyConTyVarTyForallTyStarTyFunTyTuple TyUnboxedSumTyList TyParArrayTyAppTyParenTyInfixTyKind TyPromotedTyEqualsTySpliceTyBang TyWildCard TyQuasiQuoteMaybePromotedName PromotedNameUnpromotedNamePromotedPromotedIntegerPromotedString PromotedCon PromotedList PromotedTuple PromotedUnitBoxedUnboxed TyVarBind KindedVar UnkindedVarKindFunDepContextCxSingleCxTupleCxEmptyAsstClassAAppAInfixAIParamEqualPParenA WildCardALiteralStringCharIntFracPrimIntPrimWord PrimFloat PrimDoublePrimChar PrimStringSignSignlessNegativeExpVarConIfAppLitLetCaseListCompNegAppTupleOverloadedLabelIPVarInfixAppLambdaMultiIfDoMDo UnboxedSum TupleSectionListParArrayParen LeftSection RightSection RecConstr RecUpdateEnumFrom EnumFromTo EnumFromThenEnumFromThenToParArrayFromToParArrayFromThenToParComp ParArrayComp ExpTypeSigVarQuoteTypQuote BracketExp SpliceExp QuasiQuoteTypeAppXTagXETagXPcdataXExpTag XChildTag CorePragma SCCPragma GenPragmaProc LeftArrApp RightArrAppLeftArrHighAppRightArrHighAppLCaseXNameXDomNameXAttrBracket ExpBracket PatBracket TypeBracket DeclBracketSpliceIdSplice ParenSpliceSafetyPlaySafePlayInterruptible PlayRiskyCallConvCCallStdCallCApi JavaScript CPlusPlusDotNetJvmJs ModulePragmaLanguagePragma OptionsPragmaAnnModulePragmaToolGHCHUGSNHC98YHCHADDOCK UnknownToolOverlap Overlappable OverlappingOverlaps Incoherent NoOverlap Activation ActiveFrom ActiveUntilRuleRuleVar TypedRuleVar WarningTextDeprTextWarnTextPVarPLitPNPlusK PInfixAppPAppPTuple PUnboxedSumPListPParenPRecPAsPat PWildCardPIrrPat PatTypeSigPViewPatPRPatPXTagPXETagPXPcdataPXPatTagPXRPatsPSplice PQuasiQuotePBangPatPXAttrRPatOpRPStarRPStarGRPPlusRPPlusGRPOptRPOptGRPatRPOpRPEitherRPSeqRPGuardRPCAsRPAsRPParenRPPatPatField PFieldPat PFieldPunPFieldWildcardLetStmtRecStmt Generator QualifierQualStmt ThenTransThenByGroupBy GroupUsing GroupByUsing FieldUpdateFieldPun FieldWildcardAlt AnnotatedamapannLanguage.Haskell.Exts.SrcLoc<^^><**<+?><++> combSpanMaybe combSpanInfoinfoSpan noSrcSpan noInfoSpanspanSize isNullSpan mergeSrcSpan mkSrcSpan srcSpanEnd srcSpanStartnoLocSrcLoc srcFilenamesrcLine srcColumnSrcSpansrcSpanStartLinesrcSpanEndLinesrcSpanFilenamesrcSpanStartColumnsrcSpanEndColumnLocunLoc SrcSpanInfo srcInfoSpan srcInfoPointsSrcInfo toSrcInfo fromSrcInfo getPointLocfileName startLine startColumnLanguage.Haskell.Exts.ExtensiontoExtensionListprettyExtensionparseExtensionclassifyExtensiondeprecatedExtensionsknownExtensions ghcDefault glasgowExts impliesExtsprettyLanguageclassifyLanguageknownLanguagesLanguage Haskell98 Haskell2010HaskellAllDisabledUnknownLanguage ExtensionEnableExtensionDisableExtensionUnknownExtensionKnownExtensionStrictOverlappingInstancesUndecidableInstancesIncoherentInstancesMonomorphismRestriction MonoPatBindsMonoLocalBindsRelaxedPolyRecExtendedDefaultRulesForeignFunctionInterfaceUnliftedFFITypesInterruptibleFFICApiFFIGHCForeignImportPrim JavaScriptFFIParallelArraysArrowsTemplateHaskell QuasiQuotesImplicitParamsImplicitPreludeScopedTypeVariables UnboxedTuples UnboxedSums BangPatterns TypeFamiliesTypeFamilyDependencies TypeInTypeOverloadedStringsDisambiguateRecordFieldsRecordWildCards RecordPuns ViewPatternsGADTsNPlusKPatternsDoAndIfThenElseRebindableSyntaxConstraintKinds PolyKinds DataKinds InstanceSigsStandaloneDerivingDeriveDataTypeable DeriveFunctorDeriveTraversableDeriveFoldable DeriveGenericDefaultSignaturesDeriveAnyClassDerivingStrategies DerivingViaTypeSynonymInstancesFlexibleContextsFlexibleInstancesConstrainedClassMethodsMultiParamTypeClassesFunctionalDependencies UnicodeSyntaxExistentialQuantification MagicHashEmptyDataDeclsKindSignaturesRoleAnnotationsParallelListCompTransformListCompGeneralizedNewtypeDeriving RecursiveDoPostfixOperators TupleSections PatternGuardsLiberalTypeSynonyms RankNTypesImpredicativeTypes TypeOperatorsExplicitNamespacesPackageImportsExplicitForAllDatatypeContextsNondecreasingIndentation LambdaCase MultiWayIfBinaryLiteralsOverloadedLabels EmptyCasePatternSynonymsPartialTypeSignaturesNamedWildCardsTypeApplications StrictDataSafeDoRec Rank2TypesPolymorphicComponentsPatternSignaturesCPPGenericsNamedFieldPunsExtensibleRecordsRestrictedTypeSynonyms HereDocumentsNewQualifiedOperators XmlSyntaxRegularPatterns SafeImports Trustworthypretty-1.1.3.6#Text.PrettyPrint.Annotated.HughesPJModePageMode ZigZagModeLeftMode OneLineModeStylemode lineLengthribbonsPerLinestyle&uniplate-1.6.12-I4v1VEqVnmFIG9gMPOrosd!Data.Generics.Uniplate.OperationsholesBi contextsBi rewriteBiM rewriteBi transformBiM transformBi childrenBi universeBiparaholescontextsrewriteMrewrite transformM transformchildrenuniverseUniplateuniplatedescenddescendMBiplatebiplate descendBi descendBiM$Data.Generics.Uniplate.Internal.Data transformBis transformer TransformerType_Pat_Exp_Decl_Module_SneedBracketOlddescendBracketOldextensionImpliesextensionImpliedByextensionImplications1data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.ClassdefellipsesopExpexpOp moduleDecls moduleName moduleImports modulePragmasmoduleExtensionsfromModuleNamefromChar fromPChar fromString fromPString fromParen1 fromParen fromPParen fromTyParen fromTyBangisVarisConisApp isInfixAppisAnyAppisParenisIfisLambdaisMDoisBoxed isDerivDecl isPBangPat isPFieldPun isFieldPun isPWildCardisPFieldWildcardisFieldWildcard isPViewPat isParComp isTypeApp isPatTypeSig isQuasiQuoteisTyQuasiQuote isSpliceDecl isNewType isRecStmt isClsDefSigisTyBangisLCaseisTupleSectionisString isRecUpdate isRecConstr isSection isPrimLiteralallowRightSectionallowLeftSectionunqualfromQual isSpecialisDolisDotisDotAppdotAppdotAppsisReturnisLexeme isAssocLeft isAssocNoneisWHNFtransformBracketOld descendIndex getEquations toFunBindreplaceBranchesappsfromAppsfromAppsWithLoc childrenApps descendApps descendAppsM universeApps transformAppstransformAppsM universeS childrenSuniverseParentExp showSrcLocandropAnn/=~=elem_notElem_nub_delete_ intersect_neqListeqListeqMaybe getFixity toInfixDeclScope scopeCreate scopeMatch scopeMoveGHC.Basemempty scopeImportsNamed fromNamedtoNamedVar_PVar_ LamConst1App2Viewview~=isSymreducehsColourConsole hsColourHTMLparallelversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNametimedtimedIO startTimings printTimingsparseExtensionsconfigExtensions forceList exitMessageexitMessageImpuregetContentsUTF8gzipuniverseParentBighcSrcLocToHSE ghcSpanToHSE ghcCommentsmkModehseFailOpParseModuleExfailOpParseModuleExghcFailOpParseModuleExghcExtensionsFromParseFlagscontext1haskell-src-exts-util-0.2.5-knkLzkhSsA35fhG9rd8aCLanguage.Haskell.Exts.Bracket appsBracket rebracket1transformBracketparenBracketsremParenaddParenisAtom needBracketLanguage.Haskell.Exts.FreeVarsAllVarsallVarsFreeVars ghcModule hseModule hseCommentsghcAnnotationsvarsvarsspvarsfreeVarsparseFlagsSetLanguage toSrcSpan'toRefactSrcSpantoSStoSS' niceLambdaRSettingArgumentHintRulehintRuleSeverity hintRuleName hintRuleScope hintRuleLHS hintRuleRHS hintRuleSide hintRuleNotesSettingInfixSettingClassifySettingMatchExpSettingRestrict SettingSmellBuiltin SmellTypeSmellLongFunctionsSmellLongTypeListsSmellManyArgFunctionsSmellManyImportsRestrict restrictTyperestrictDefault restrictName restrictAsrestrictWithinrestrictMessage RestrictTypeRestrictModuleRestrictExtension RestrictFlagRestrictFunction getSeveritygetRestrictTypedefaultHintName isUnifyVar showNotes getSmellTypeclassifyMissingproof showIdeasJsonshowANSIrawIdearawIdea'rawIdeaN rawIdeaN'ideaidea'suggestsuggest'warnwarn'ignoreNoSuggestion'ignoreignore'suggestN suggestN'ignoreNignoreN' withTestsTestaddIdeasgetIdeasprogresspassedfailedtested testTypeChecktestQuickCheck matchStartestInputOutput writeReport printIssueIssuefromIdeaMonoid hintModules hintModule hintDecl'hintDecl CrossHintModuHint DeclHint'DeclHint unsafeHint pragmaHint patternHintsingleSimpleField simpleCons dropConsBang*ghc-lib-parser-8.8.1-GucgCVchhSzNkXcGFXXfzDataCon HsSrcBang newtypeHint namingHintmonadLetfromRet monadHint listRecHintlistHint lambdaHint importHintnoDeriveNewtype deriveStockderivesextensionsHint exportHintDupe duplicateHint commentHint bracketHintsmellModuleHint smellHint restrictHintSubst fromSubst substituteunify validSubstunifyExp readMatch HintBuiltin builtinHints hintRulesreadFileConfigYaml parseFail ConfigYamlsettingsFromConfigYaml readSettings readPragmareadFileConfigHaskell readSetting readCommentreadFilesConfigcomputeSettings applyHintFileapplyHintFiles executeHintsparseModuleApplyallHintsclassifytestAnnotationsrunGrepcmdFiles cmdReports cmdGivenHints cmdWithHints cmdWithGroupscmdGitcmdColor cmdThreads cmdIgnore cmdShowAll cmdExtension cmdLanguagecmdCross cmdFindHints cmdDataDir cmdDefaultcmdJsoncmdCC cmdNoSummarycmdOnly cmdSerialise cmdRefactorcmdRefactorOptionscmdWithRefactorcmdProof cmdTempDir ColorModeNeverAlwaysAuto cmdHintFiles cmdUseColour resolveFileCmdCmdMainCmdGrepCmdTestCmdHSEcmdPath cmdCppDefine cmdCppInclude cmdCppFile cmdCppSimple cmdCppAnsi cmdNoExitCode cmdTiming cmdPattern cmdQuickCheck cmdTypeCheckgetCmd exitWithHelp cmdExtensionscmdCpptestreadAllSettings splitSettings_docs