diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2013-05-27 17:28:03 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2013-05-28 09:25:08 +0100 |
commit | b94e98a10629d7a35b5e28c63d41209aa33acbbd (patch) | |
tree | 162d68653c662b85987dc1c08d21c200ecb9d882 | |
parent | 3d0d8d02b0f1359813eed00c0910cb6729460a13 (diff) | |
download | haskell-b94e98a10629d7a35b5e28c63d41209aa33acbbd.tar.gz |
Print kinds of non-* tyvar binders in pprTyThing
This makes the output of :info more useful
-rw-r--r-- | compiler/main/PprTyThing.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/main/PprTyThing.hs b/compiler/main/PprTyThing.hs index df1c27806d..5145f56005 100644 --- a/compiler/main/PprTyThing.hs +++ b/compiler/main/PprTyThing.hs @@ -32,6 +32,7 @@ import TyCon import Coercion( pprCoAxiom ) import HscTypes( tyThingParent_maybe ) import Type( tidyTopType, tidyOpenType ) +import TypeRep( pprTvBndrs ) import TcType import Name import VarEnv( emptyTidyEnv ) @@ -106,6 +107,7 @@ ppr_ty_thing pefas _ (AnId id) = pprId pefas id ppr_ty_thing pefas _ (ADataCon dataCon) = pprDataConSig pefas dataCon ppr_ty_thing pefas ss (ATyCon tyCon) = pprTyCon pefas ss tyCon ppr_ty_thing _ _ (ACoAxiom ax) = pprCoAxiom ax + pprTyConHdr :: PrintExplicitForalls -> TyCon -> SDoc pprTyConHdr pefas tyCon | Just (fam_tc, tys) <- tyConFamInst_maybe tyCon @@ -113,7 +115,7 @@ pprTyConHdr pefas tyCon | Just cls <- tyConClass_maybe tyCon = pprClassHdr pefas cls | otherwise - = ptext keyword <+> opt_family <+> opt_stupid <+> ppr_bndr tyCon <+> hsep (map ppr vars) + = ptext keyword <+> opt_family <+> opt_stupid <+> ppr_bndr tyCon <+> pprTvBndrs vars where vars | GHC.isPrimTyCon tyCon || GHC.isFunTyCon tyCon = take (GHC.tyConArity tyCon) GHC.alphaTyVars @@ -138,10 +140,9 @@ pprDataConSig pefas dataCon pprClassHdr :: PrintExplicitForalls -> GHC.Class -> SDoc pprClassHdr _ cls = ptext (sLit "class") <+> - GHC.pprThetaArrowTy (GHC.classSCTheta cls) <+> - ppr_bndr cls <+> - hsep (map ppr tyVars) <+> - GHC.pprFundeps funDeps + sep [ GHC.pprThetaArrowTy (GHC.classSCTheta cls) + , ppr_bndr cls <+> pprTvBndrs tyVars + , GHC.pprFundeps funDeps ] where (tyVars, funDeps) = GHC.classTvsFds cls |