diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2016-11-13 16:17:37 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-11-13 16:17:38 -0500 |
commit | 6c0f10fac767c49b65ed71e8eb8e78ca4f9062d5 (patch) | |
tree | 4d37b9d01c1bf38d6356471ddb99ca4327e945c6 /compiler/prelude/TysWiredIn.hs | |
parent | 8cb7bc5c234eb8168068f65b8888597106fec302 (diff) | |
download | haskell-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.hs | 7 |
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 {- ********************************************************************* * * |