@@ -178,9 +178,9 @@ There are the following challenges when formatting a module with CPP:
178178 formatting the Haskell code between CPP directives is not an option.
179179
180180* Ignoring the CPP directives and formatting the Haskell code can change
181− the meaning of the Haskell code. An example follows.
181+ its meaning. An example follows.
182182
183−Let's suppose that we want to format the following snippet of code:
183+Let's suppose that we want to format the following program:
184184
185185```
186186$ cat test.hs
@@ -208,8 +208,8 @@ $ runhaskell test.hs
208208True
209209```
210210
211−At the time of this writing, formatting this program with `hindent`
212−produces the same output we would get if the `CPP` directives were
211+At the time of this writing, formatting this program with Hindent
212+produces the same output we would get if the CPP directives were
213213considered comments:
214214
215215```
@@ -275,8 +275,10 @@ basic things like floating point literals and the like). The benefit is that
275275AST components that we'll want to print are already instances of
276276`Outputable`, so we'll get correct renderings for free.
277277
278−The pretty-printing code can be in entirely in control of every formatting
279−choice, except for two, which are left to the programmer:
278+In order to keep the output of the formatter simple, fast and correct,
279+we introduce the following rule. The pretty-printing code can be in
280+control of every formatting choice, except for two, which are left to
281+the programmer:
280282
2812831. location of comments (comments are going to be attached to specific
282284 syntactic entities, so moving an entity will move its comment too),
@@ -288,7 +290,7 @@ has a choice:
2882901. write it on one line, or
2892912. write it on two lines or more.
290292
291−If (1), then everything is kept one line. If (2), i.e. a line break appears
293+If (1), then everything is kept in one line. If (2), i.e. a line break appears
292294somewhere in the concrete syntax tree (CST), then additional line breaks are
293295introduced everywhere possible in parent nodes, *but not in any sibling or
294296children nodes*.
@@ -345,8 +347,8 @@ formatter for a while.
345347
346348There should be some configuration but at this point I'll leave this section
347349empty. Personally I'm OK with imposing “one good style” and only allowing
348−users to tweak things like page width in columns and indentation levels.
349−Others will probably disagree. I generally like the philosophy of [this
350+users to tweak indentation levels. Others will probably disagree. I generally
351+like the philosophy of [this
350352post][hindent-5-blog] by Chris Done (the author of Hindent) which says that
351353as long as the default style is conventional and good it doesn't really
352354matter how code gets formatted. Consistency is more important.