Use GHC.Types.SPEC to fix compilation with shared:False #15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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] haskell/vector#83