summaryrefslogtreecommitdiff
path: root/compiler/prelude/TysWiredIn.hs
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2016-11-13 16:17:37 -0500
committerBen Gamari <ben@smart-cactus.org>2016-11-13 16:17:38 -0500
commit6c0f10fac767c49b65ed71e8eb8e78ca4f9062d5 (patch)
tree4d37b9d01c1bf38d6356471ddb99ca4327e945c6 /compiler/prelude/TysWiredIn.hs
parent8cb7bc5c234eb8168068f65b8888597106fec302 (diff)
downloadhaskell-6c0f10fac767c49b65ed71e8eb8e78ca4f9062d5.tar.gz
Kill Type pretty-printer
Here we consolidate the pretty-printing logic for types in IfaceType. We need IfaceType regardless and the printer for Type can be implemented in terms of that for IfaceType. See #11660. Note that this is very much a work-in-progress. Namely I still have yet to ponder how to ease the hs-boot file situation, still need to rip out more dead code, need to move some of the special cases for, e.g., `*` to the IfaceType printer, and need to get it to validate. That being said, it comes close to validating as-is. Test Plan: Validate Reviewers: goldfire, austin Subscribers: goldfire, thomie, simonpj Differential Revision: https://phabricator.haskell.org/D2528 GHC Trac Issues: #11660
Diffstat (limited to 'compiler/prelude/TysWiredIn.hs')
-rw-r--r--compiler/prelude/TysWiredIn.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/prelude/TysWiredIn.hs b/compiler/prelude/TysWiredIn.hs
index d3ba85e6e3..1c47922a36 100644
--- a/compiler/prelude/TysWiredIn.hs
+++ b/compiler/prelude/TysWiredIn.hs
@@ -102,7 +102,7 @@ module TysWiredIn (
-- * RuntimeRep and friends
runtimeRepTyCon, vecCountTyCon, vecElemTyCon,
- runtimeRepTy, ptrRepLiftedTy,
+ runtimeRepTy, ptrRepLiftedTy, ptrRepLiftedDataCon, ptrRepLiftedDataConTyCon,
vecRepDataConTyCon, ptrRepUnliftedDataConTyCon,
@@ -1161,9 +1161,12 @@ int8ElemRepDataConTy, int16ElemRepDataConTy, int32ElemRepDataConTy,
doubleElemRepDataConTy] = map (mkTyConTy . promoteDataCon)
vecElemDataCons
+ptrRepLiftedDataConTyCon :: TyCon
+ptrRepLiftedDataConTyCon = promoteDataCon ptrRepLiftedDataCon
+
-- The type ('PtrRepLifted)
ptrRepLiftedTy :: Type
-ptrRepLiftedTy = mkTyConTy $ promoteDataCon ptrRepLiftedDataCon
+ptrRepLiftedTy = mkTyConTy ptrRepLiftedDataConTyCon
{- *********************************************************************
* *