@@ -7,22 +7,22 @@ the following features in mind:
8* Using GHC's own parser to avoid parsing problems caused by
8* Using GHC's own parser to avoid parsing problems caused by
9 [`haskell-src-exts`][haskell-src-exts].
9 [`haskell-src-exts`][haskell-src-exts].
10+* Let some whitespace be programmable. The layout of the input
11+ influence the layout choices in the output. This means that the
12+ choices between single-line/multi-line layouts in each particular
13+ situation are made by the user, not by an algorithm. This makes the
14+ implementation simpler and leaves some control to the user while
15+ still guaranteeing that the formatted code is stylistically
10* Writing code in such a way so it's easy to modify and maintain. Roughly,
17* Writing code in such a way so it's easy to modify and maintain. Roughly,
11 it means that the project follows the path of [`hindent`][hindent] and is
18 it means that the project follows the path of [`hindent`][hindent] and is
12 very much about printing AST in a particular way.
19 very much about printing AST in a particular way.
13* Implementing one “true” formatting style which admits no configuration.
20* Implementing one “true” formatting style which admits no configuration.
14* That formatting style aims to result in minimal diffs while still
21* That formatting style aims to result in minimal diffs while still
15 remaining very close to “conventional” Haskell formatting people use.
22 remaining very close to “conventional” Haskell formatting people use.
16−* Let the layout of the input influence the layout choices in the output.
17− This means that the choices between single-line/multi-line layouts in each
18− particular situation are made by the user, not by an algorithm. This makes
19− the implementation simpler and leaves some control to the user while still
20− guaranteeing that the formatted code is stylistically consistent.
21* Idempotency: formatting already formatted code doesn't change it.
23* Idempotency: formatting already formatted code doesn't change it.
22* Be well-tested and robust to the point that it can be used in large
24* Be well-tested and robust to the point that it can be used in large
23 projects without exposing unfortunate, disappointing bugs here and there.
25 projects without exposing unfortunate, disappointing bugs here and there.
24−* The project is commercially backed by a company, that is, Tweag. This
25− guarantees that it'll be actively maintained and bugs will be fixed.
27## Contribution
27## Contribution
@@ -85,6 +85,8 @@ inspiration.
88+See [LICENSE](./LICENSE).
88Copyright © 2018–2019 Tweag I/O
90Copyright © 2018–2019 Tweag I/O
90[haskell-src-exts]: https://hackage.haskell.org/package/haskell-src-exts
92[haskell-src-exts]: https://hackage.haskell.org/package/haskell-src-exts