# HLint configuration file # https://github.com/ndmitchell/hlint ########################## # Module export lists should generally be preferred, but may be # omitted if the module is small or internal. - ignore: {name: Use module export list} # Record patterns are just ugly. - ignore: {name: Use record patterns} # Don't prefer TupleSections - ignore: {name: Use tuple-section} # I don't think this helps - ignore: {name: "Avoid lambda using `infix`"} # Breaks type inference with higher-rank types in GHC 9 - ignore: {name: Use const} # Inapplicable - ignore: {name: Use readTVarIO, within: Control.Monad.Conc.Class} # Type inference errors - ignore: {name: Avoid lambda, within: Test.DejaFu.Conc.Internal.Program} - ignore: {name: Avoid lambda, within: Examples.SearchParty} # Prefer applicative operators over monadic ones. - suggest: {name: Generalise monadic functions, lhs: return, rhs: pure} # The whole point of this example is to test class laws - ignore: {name: Functor law, within: Examples.ClassLaws} - ignore: {name: Generalise monadic functions, within: Examples.ClassLaws} # These test names are copied straight from the async package - ignore: {name: Use camelCase, within: Integration.Async} # I don't think these help. - ignore: {name: Avoid lambda, within: Integration.Refinement} - ignore: {name: Reduce duplication, within: Unit.Properties} - ignore: {name: Use nonTermination, within: Unit.Properties} - ignore: {name: Reduce duplication, within: Integration.Litmus} - ignore: {name: Reduce duplication, within: Integration.MultiThreaded} - ignore: {name: Reduce duplication, within: Integration.Regressions} - ignore: {name: Reduce duplication, within: Integration.SCT} - ignore: {name: Reduce duplication, within: Integration.SingleThreaded} # These are tests of the laws - ignore: {name: "Use <$>", within: Examples.ClassLaws} - ignore: {name: "Use fmap", within: Examples.ClassLaws} - ignore: {name: "Alternative law, right identity", within: Examples.ClassLaws} - ignore: {name: "Alternative law, left identity", within: Examples.ClassLaws} - ignore: {name: "Monoid law, right identity", within: Unit.Properties} # Not implemented - ignore: {name: "Use newEmptyTMVarIO"} - ignore: {name: "Use newTMVarIO"} - ignore: {name: "Use newTVarIO"}