diff options
author | RyanGlScott <ryan.gl.scott@gmail.com> | 2015-10-13 00:43:32 -0500 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2015-10-13 00:43:42 -0500 |
commit | d2f9972a35ce05ceb8a78893e433ef1df06f73ef (patch) | |
tree | bc3cee0ec99aacd64298993fde590c017734c6e6 /ghc.mk | |
parent | 94ef79a766a1f58a5daadcf7dbb342812cd1a9bd (diff) | |
download | haskell-d2f9972a35ce05ceb8a78893e433ef1df06f73ef.tar.gz |
Make dataToQa aware of Data instances which use functions to implement toConstr
Trac #10796 exposes a way to make `template-haskell`'s `dataToQa` function
freak out if using a `Data` instance that produces a `Constr` (by means of
`toConstr`) using a function name instead of a data constructor name. While
such `Data` instances are somewhat questionable, they are nevertheless present
in popular libraries (e.g., `containers`), so we can at least make `dataToQa`
aware of their existence.
In order to properly distinguish strings which represent variables (as opposed
to data constructors), it was necessary to move functionality from `Lexeme` (in
`ghc`) to `GHC.Lexeme` in a new `ghc-boot` library (which was previously named
`bin-package-db`).
Reviewed By: goldfire, thomie
Differential Revision: https://phabricator.haskell.org/D1313
GHC Trac Issues: #10796
Diffstat (limited to 'ghc.mk')
-rw-r--r-- | ghc.mk | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -410,7 +410,7 @@ else # CLEANING # programs such as GHC and ghc-pkg, that we do not assume the stage0 # compiler already has installed (or up-to-date enough). -PACKAGES_STAGE0 = binary Cabal/Cabal hpc bin-package-db hoopl transformers template-haskell +PACKAGES_STAGE0 = binary Cabal/Cabal hpc ghc-boot hoopl transformers template-haskell ifeq "$(Windows_Host)" "NO" ifneq "$(HostOS_CPP)" "ios" PACKAGES_STAGE0 += terminfo @@ -438,10 +438,10 @@ PACKAGES_STAGE1 += directory PACKAGES_STAGE1 += process PACKAGES_STAGE1 += hpc PACKAGES_STAGE1 += pretty -PACKAGES_STAGE1 += template-haskell PACKAGES_STAGE1 += binary PACKAGES_STAGE1 += Cabal/Cabal -PACKAGES_STAGE1 += bin-package-db +PACKAGES_STAGE1 += ghc-boot +PACKAGES_STAGE1 += template-haskell PACKAGES_STAGE1 += hoopl PACKAGES_STAGE1 += transformers @@ -752,7 +752,7 @@ fixed_pkg_prev= $(foreach pkg,$(PACKAGES_STAGE0),$(eval $(call fixed_pkg_dep,$(pkg),dist-boot))) # ghc-pkg, unlike other utils that we build with the stage0 compiler (TODO: is # this really true?), depends on several boot packages (e.g. Cabal and -# bin-package-db). They need to be configured before ghc-pkg, so we add a +# ghc-boot). They need to be configured before ghc-pkg, so we add a # dependency between their package-data.mk files. See also Note # [Dependencies between package-data.mk files]. utils/ghc-pkg/dist/package-data.mk: $(fixed_pkg_prev) |