Closed thomie closed 4 years ago
Thanks for the patch! I have managed to get myself wedged with a load of local changes in Uniplate that are in a state I don't want to merge or lose, which is both annoying, and means that the time to merge in this patch will probably be a month or so. But the patch looks good and I will merge.
Ping @ndmitchell
Many apologies this patch took 4 years to get in. I took the code and reapplied it to master, as part of #31. Thanks very much, and sorry life got away from me.
This fixes https://ghc.haskell.org/trac/ghc/ticket/8618, and allows uniplate to be installed when
shared:False
is set in~/.cabal
.Edit: some more background information.
From compiler/specialise/SpecConstr.hs in the ghc repository:
So the issue here goes something like this:
ForceSpecConstr
ForceSpecConstr
requires GHCi to runshared:false
disables building shared librariesThis commit changes
uniplate
to useGHC.Types.SPEC
instead ofForceSpecConstr
, as suggested by thatNote
.GHC.Types.SPEC was added to ghc-prim 0.3.1.0 / GHC 7.8.1 [1]. It's magic is partially explained in [2]. I made a similar pull request for vector in [3].
[1] https://downloads.haskell.org/~ghc/7.8.1/docs/html/users_guide/release-7-8-1.html [2] http://git.haskell.org/ghc.git/commitdiff/cee3adbcc180bdf1be8b24aeaafa2ca4a737cbbf [3] https://github.com/haskell/vector/pull/83