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/iface/ToIface.hs-boot | |
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/iface/ToIface.hs-boot')
-rw-r--r-- | compiler/iface/ToIface.hs-boot | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compiler/iface/ToIface.hs-boot b/compiler/iface/ToIface.hs-boot new file mode 100644 index 0000000000..bf6c120d8e --- /dev/null +++ b/compiler/iface/ToIface.hs-boot @@ -0,0 +1,15 @@ +module ToIface where + +import {-# SOURCE #-} TyCoRep +import {-# SOURCE #-} IfaceType +import Var ( TyVar, TyVarBinder ) +import TyCon ( TyCon ) + +-- For TyCoRep +toIfaceType :: Type -> IfaceType +toIfaceTyLit :: TyLit -> IfaceTyLit +toIfaceForAllBndr :: TyVarBinder -> IfaceForAllBndr +toIfaceTvBndr :: TyVar -> IfaceTvBndr +toIfaceTyCon :: TyCon -> IfaceTyCon +toIfaceTcArgs :: TyCon -> [Type] -> IfaceTcArgs +toIfaceCoercion :: Coercion -> IfaceCoercion |