-
Notifications
You must be signed in to change notification settings - Fork 18
/
.hlint.yaml
58 lines (45 loc) · 2.23 KB
/
.hlint.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 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"}