* [bench-hist] break down in rule functions
* Extract the benchmarking Shake rules to a shake-bench package
There's some room for reusing the rules used in the historic benchmarking suite
in other projects. This change makes that a bit easier and improves the
documentation and code structure.
The new structure is:
- lib:shake-bench - a Cabal library with functions to generate Shake rules
- ghcide:bench:benchHist - the ghcide instantiation of the above Shake rules
That's not to say that shake-bench is completely decoupled from ghcide -
there are still plenty of assumptions on how the benchmarks are organized, their
outputs, etc. But with a little bit of effort, it should be easy to make
these rules more reusable
* Fix nix build
* Fix license
* hlints and redundant imports
* more hlints
* Exclude shake-bench from the stack build
* Hi file stability
* fix missing early cutoff in GetModIface
* tests for TH reloading
* Do not run hlint on test/data
* hlints
* Fix legacy code path
* Update test/exe/Main.hs
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
* Use Just True == in preference to fromMaybe True or similar
* Use trimStart instead of dropWhile isSpace
* Whitespace only
* Remove a redundant import
* Enable HLint hints suggesting the extra library