Fair number of (mostly) smaller changes, each in it's own commit:
Add benchmark runtime section to nofib readme
smallpt - adhere to benchmark duration guidlines for nofib - a benchmark running for a minute is too long
Added a hackage.head project file. I called it nofib.head. The shake runner will pick it up if one uses --head
This can be used via cabal --project-file nofib.head update etc.
Remove unused reference to source submodule in cabal.project
A "make it build with head" commit that:
Adjusts for the Data.List changes by hiding the generic versions from the Prelude.
Adjusts imaginary/integrate for changes in ghc-9 that cause a larger FP error.
Adjusts the gc benchmarks. I've mostly added changes that have been added in their non-gc counterparts already.
Add a verbosity flag to the shake build - The build process used the be extremely noise, now it's just very noisy.
Added --keep-going to shake, which will ignore stdout/err missmatches.
Don't run the gc tests by default. Users tend not to care about them. We can explicitly run them in CI if we want.