Hello Ben,
We were trying to get `record` working on ghc-8 when we observed this issue. Nikita has kindly merged in our pull request which makes `record` now work on ghc-8. These were the steps we followed to reproduce the issue with cabal
|23:52:40| ~/ghc-8-TH :git clone
https://github.com/nikita-volkov/base-preludeCloning into 'base-prelude'...
|23:53:03| ~/ghc-8-TH :git clone
https://github.com/nikita-volkov/recordCloning into 'record'...
|23:53:12| ~/ghc-8-TH :cd record
|23:53:15| ~/ghc-8-TH/record :cabal --version
cabal-install version 1.23.0.0
compiled using version 1.23.1.0 of the Cabal library
|23:53:19| ~/ghc-8-TH/record :ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.0.0.20160411
|23:53:23| ~/ghc-8-TH/record :cabal sandbox init
Writing a default package environment file to
/home/sreenidhi/ghc-8-TH/record/cabal.sandbox.config
Creating a new sandbox at /home/sreenidhi/ghc-8-TH/record/.cabal-sandbox
|23:53:26| ~/ghc-8-TH/record :cabal sandbox add-source ../base-prelude
|23:53:34| ~/ghc-8-TH/record :cabal install --dependencies-only
now doing a `cabal build` takes about 2.8 g memory and took nearly 3 minutes to complete. After switching to ghc 7.10.3