dejafu/.hlint.yaml
Michael Walker 11ccf950e7 Add LTS-19.0 to build matrix & supported GHC versions doc
There should be a patch release of dejafu after this, since the
doctest examples changed.

Also, need to bump to a nightly snapshot in `stack.yaml` for
stylish-haskell, which looks to have skipped GHC 9.0 support.

In principle, we could now drop support for GHC 8.0, 8.2, and 8.4, but
supporting those isn't causing any problems yet.
2022-08-22 14:40:35 +01:00

59 lines
2.2 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`"}
# 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"}