dejafu/.hlint.yaml
Michael Walker 03f0e63b8b Fix new lints
There is a change to 'concurrency' here, but I don't think it's worth
making even a patch release.
2020-02-20 22:54:12 +00:00

52 lines
2.1 KiB
YAML

# 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`"}
# Inapplicable
- ignore: {name: Use readTVarIO, within: Control.Monad.Conc.Class}
# GHC treats infix $ specially wrt type checking, so that things like
# "runST $ do ..." work even though they're impredicative.
# Unfortunately, this means that HLint's "avoid lambda" warning for
# this module would lead to code which no longer compiles!
- ignore: {name: Avoid lambda, within: Test.DejaFu.Conc.Internal.Program}
# 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.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}