-
Notifications
You must be signed in to change notification settings - Fork 42
/
.hlint.yaml
120 lines (102 loc) · 3.36 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# HLint configuration file
#
# see `hlint --default` for help
################################
# Specify additional command line arguments
- arguments: [-XTypeApplications, -XOverloadedRecordDot]
# Control which extensions/flags/modules/functions can be used
- modules:
- {name: [System.FilePath.Posix], within: []}
# Ignore some builtin hints
# This warning should apply to Control.Exception.evaluate, but is mistakenly
# applied to Kore.Rewrite.SMT.Evaluator.evaluate.
- ignore: {name: "Redundant evaluate"}
# Corporate style
- ignore: {name: "Move brackets to avoid $" }
- ignore: {name: "Use tuple-section"}
- ignore: {name: "Use record patterns"}
- ignore: {name: "Use String"}
- ignore: {name: "Redundant id"}
- ignore: {name: "Use Just"}
# Ignore suggestions that may affect readability
- ignore: {name: "Eta reduce"}
- ignore: {name: "Avoid lambda using `infix`"}
- ignore: {name: "Use infix"}
- ignore: {name: "Use section"}
- ignore: {name: "Use <$>"}
- ignore: {name: "Use <&>"}
- ignore: {name: "Redundant flip"}
- ignore: {name: "Monad law, left identity"}
- ignore: {name: "Monoid law, left identity"}
- ignore: {name: "Replace case with maybe"}
- ignore: {name: "Hoist not"}
- ignore: {name: "Redundant bracket"}
- ignore: {name: "Fuse foldr/fmap"}
# Ignore suggestions to reduce duplication, because:
# - High rate of false positives
# - Suggestions are often not applicable
# - Difficult to ignore suggestion locally
# - Only detects exact duplication of text, not anything interesting
- ignore: {name: "Reduce duplication"}
# The placement of lambdas affects inlining.
- ignore: {name: Redundant lambda}
# Testing class laws
- ignore: {name: "Functor law", within: [Test.Data.Sup, Test.ListT]}
- ignore: {name: "Use /=", within: [Test.Data.Sup]}
- ignore: {name: "Alternative law, left identity", within: [Test.ListT]}
- ignore: {name: "Alternative law, right identity", within: [Test.ListT]}
- ignore: {name: "Monad law, right identity", within: [Test.ListT]}
- ignore: {name: "Use >=>", within: [Test.ListT]}
- ignore: {name: "Redundant id", within: [Test.ListT]}
# LANGUAGE Strict
- ignore: {name: "Redundant irrefutable pattern"}
- ignore:
name: Use camelCase
within:
- Test.Terse
- Test.Kore.Rewrite.Axiom.Evaluate
- Test.Kore.Rewrite.Axiom.Matcher
- Test.Kore.Simplify.Overloading
# Unsuitable suggestions
- ignore:
name: "Reduce duplication"
within:
- Kore.Builtin.Builtin
- Kore.Builtin.List
- Kore.Builtin.Symbols
- Kore.Domain.Builtin
- Kore.Exec
- Kore.Internal.Conditional
- Kore.Rewrite.Axiom.Matcher
- Kore.Simplify.AndTerms
- Kore.Parser.Parser
- Main
- ignore:
name: "Use fmap"
within:
- Kore.Rewrite.Step
- SQL.SOP
- ignore: {name: "Avoid lambda", within: [Kore.Rewrite.Function.Memo]}
- ignore:
name: "Redundant bracket"
within:
- Kore.Internal.TermLike.TermLike
# Haskell names match K names
- ignore:
name: "Use camelCase"
within:
- Kore.Builtin.Map.Map
- Kore.Builtin.MapSymbols
- Kore.Debug
- ignore:
name: "Use newtype instead of data"
within:
- GlobalMain
- Kore.JsonRpc.Types
- Kore.Log.InfoExecDepth
- Kore.Log.WarnUnexploredBranches
- ignore: {name: "Redundant compare", within: [Kore.Syntax.Id]}
- ignore:
name: "Use void"
within:
- Test.Kore.Rewrite.Transition