# HLint configuration file # https://github.com/ndmitchell/hlint ########################## - modules: - {name: [Data.Set, Data.HashSet], as: Set} # if you import Data.Set qualified, it must be as 'Set' - {name: [Data.List], as: List} - {name: [Data.Sequence], as: Seq} # Add custom hints for this project # # Will suggest replacing "wibbleMany [myvar]" with "wibbleOne myvar" # - error: {lhs: "wibbleMany [x]", rhs: wibbleOne x} # We should use "panic", not "error". # - error: # lhs: "error x" # rhs: 'panic "nameOfFunction" [x, "more lines of details"]' # TODO: specialize these to the modules they are needed - ignore: {name: 'Use :'} - ignore: {name: Avoid lambda using `infix`} - ignore: {name: Avoid lambda} - ignore: {name: Avoid restricted qualification} - ignore: {name: Eta reduce} - ignore: {name: Functor law} - ignore: {name: Move brackets to avoid $} - ignore: {name: Parse error} - ignore: {name: Reduce duplication} - ignore: {name: Redundant $} - ignore: {name: Redundant ==} - ignore: {name: Redundant bracket} - ignore: {name: Redundant case} - ignore: {name: Redundant do} - ignore: {name: Redundant flip} - ignore: {name: Redundant guard} - ignore: {name: Redundant lambda} - ignore: {name: Redundant return} - ignore: {name: Unused LANGUAGE pragma} - ignore: {name: Use $>} - ignore: {name: Use &&} - ignore: {name: Use ++} - ignore: {name: Use .} - ignore: {name: Use <$>} - ignore: {name: Use <=<} - ignore: {name: Use =<<} - ignore: {name: Use ==} - ignore: {name: Use >=>} - ignore: {name: Use String} - ignore: {name: Use asks} - ignore: {name: Use camelCase} - ignore: {name: Use const} - ignore: {name: Use fewer imports} - ignore: {name: Use fmap} - ignore: {name: Use forM_} - ignore: {name: Use fromMaybe, within: [Lang.Crucible.Analysis.Shape, Lang.Crucible.JVM.Class, Lang.Crucible.JVM.Translation.Class]} - ignore: {name: Use record patterns, within: [Lang.Crucible.Simulator.EvalStmt, Lang.Crucible.Simulator.Profiling, Lang.Crucible.CFG.Core]} - ignore: {name: Use guards} - ignore: {name: Use hPrint} - ignore: {name: Use if} - ignore: {name: Use isNothing} - ignore: {name: Use lambda-case} - ignore: {name: Use list comprehension} - ignore: {name: Use maybe} - ignore: {name: Use newtype instead of data} - ignore: {name: Use record patterns} - ignore: {name: Use otherwise} - ignore: {name: Use section} - ignore: {name: Use sortOn} - ignore: {name: Use tuple-section} - ignore: {name: Use uncurry} - ignore: {name: Use unless} - ignore: {name: Use unwords} - ignore: {name: Use void} - ignore: {name: Use when}