@@ -156,14 +156,36 @@ entry and
156
156
[ documentation] ( https://github.com/commercialhaskell/stack/tree/master/doc/ )
157
157
updates with your pull request.
158
158
159
+ ## Backwards Compatability
160
+
161
+ The ` stack ` executable does not need to, and does not, strive for the same broad
162
+ compatability with versions of GHC that a library package (such as ` pantry ` )
163
+ would seek. Instead, the ` stack ` executable aims to define a well-known
164
+ combination of dependencies on which it relies. That is applies in particular to
165
+ the ` Cabal ` package, where the ` stack ` executable aims to support one, and only
166
+ one, version of ` Cabal ` with each release of the executable. At the time of
167
+ writing (April 2022) that combination is defined by resolver ` lts-17.5 ` (for
168
+ GHC 8.10.4, and including ` Cabal-3.2.1.0 ` ) - see ` stack.yaml ` .
169
+
159
170
## Code Quality
160
171
161
- The Stack projects uses [ HLint] ( https://github.com/ndmitchell/hlint ) as a code
162
- quality tool.
172
+ The Stack project uses [ yamllint] ( https://github.com/adrienverge/yamllint ) as a
173
+ YAML file quality tool and [ HLint] ( https://github.com/ndmitchell/hlint ) as a
174
+ code quality tool.
175
+
176
+ ### Linting of YAML files
177
+
178
+ The yamllint configuration extends the tools default and is set out in
179
+ ` .yamllint.yaml ` . In particular, indentation is set at 2 spaces and ` - ` in
180
+ sequences is treated as part of the indentation.
181
+
182
+ ### Linting of Haskell source code
163
183
164
- Note that stack contributors need not dogmatically follow the suggested hints
165
- but are encouraged to debate their usefulness. If you find a hint is not useful
166
- and detracts from readability, consider marking it in the
184
+ The HLint configurations is set out in ` .hlint.yaml ` .
185
+
186
+ Stack contributors need not follow dogmatically the suggested HLint hints but
187
+ are encouraged to debate their usefulness. If you find a HLint hint is not
188
+ useful and detracts from readability of code, consider marking it in the
167
189
[ configuration file] ( https://github.com/commercialhaskell/stack/blob/master/.hlint.yaml )
168
190
to be ignored. Please refer to the
169
191
[ HLint manual] ( https://github.com/ndmitchell/hlint#readme )
@@ -180,15 +202,11 @@ your favourite text editor. Refer to the HLint repository for more details.
180
202
181
203
To install:
182
204
183
- ```
184
- stack install hlint
185
- ```
205
+ stack install hlint
186
206
187
207
Once installed, you can check your changes with:
188
208
189
- ```
190
- $ ./etc/scripts/hlint.sh
191
- ```
209
+ $ ./etc/scripts/hlint.sh
192
210
193
211
## Testing
194
212
0 commit comments