diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-05-06 08:19:01 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-05-06 08:19:01 +0100 |
commit | 3c3ce829b64a9b5cc509db19d5d1acf44a565053 (patch) | |
tree | cfe4a898c43c3cd0ce7cbf8c5a5a1f89954316fc /compiler/main/PprTyThing.hs | |
parent | 675c5478793ac8cede5daca4f70cd09846879837 (diff) | |
download | haskell-3c3ce829b64a9b5cc509db19d5d1acf44a565053.tar.gz |
Modularise pretty-printing for foralls
See TypeRep.pprUserForAll. This just makes forall-printing a bit more
consistent. In particular, I wasn't seeing the kind foralls when
displaying a CoAxiom or CoAxBranch
The output on T7939 is just possible a bit too verbose now, but even if so
that's an error in the right direction.
Diffstat (limited to 'compiler/main/PprTyThing.hs')
-rw-r--r-- | compiler/main/PprTyThing.hs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/main/PprTyThing.hs b/compiler/main/PprTyThing.hs index 01932f6553..4934024b8b 100644 --- a/compiler/main/PprTyThing.hs +++ b/compiler/main/PprTyThing.hs @@ -32,14 +32,13 @@ import CoAxiom( CoAxiom(..), brListMap ) import HscTypes( tyThingParent_maybe ) import Type( tidyTopType, tidyOpenType, splitForAllTys, funResultTy ) import Kind( synTyConResKind ) -import TypeRep( pprTvBndrs, pprForAll, suppressKinds ) +import TypeRep( pprTvBndrs, pprUserForAll, suppressKinds ) import TysPrim( alphaTyVars ) import MkIface ( tyThingToIfaceDecl ) import TcType import Name import VarEnv( emptyTidyEnv ) import StaticFlags( opt_PprStyle_Debug ) -import DynFlags import Outputable import FastString @@ -234,7 +233,7 @@ pprDataConDecl :: ShowSub -> Bool -> DataCon -> SDoc pprDataConDecl ss gadt_style dataCon | not gadt_style = ppr_fields tys_w_strs | otherwise = ppr_bndr dataCon <+> dcolon <+> - sep [ pp_foralls, pprThetaArrowTy theta, pp_tau ] + sep [ pprUserForAll forall_tvs, pprThetaArrowTy theta, pp_tau ] -- Printing out the dataCon as a type signature, in GADT style where (forall_tvs, theta, tau) = tcSplitSigmaTy (dataConUserType dataCon) @@ -242,9 +241,6 @@ pprDataConDecl ss gadt_style dataCon labels = dataConFieldLabels dataCon stricts = dataConStrictMarks dataCon tys_w_strs = zip (map user_ify stricts) arg_tys - pp_foralls = sdocWithDynFlags $ \dflags -> - ppWhen (gopt Opt_PrintExplicitForalls dflags) - (pprForAll forall_tvs) pp_tau = foldr add (ppr res_ty) tys_w_strs add str_ty pp_ty = pprParendBangTy str_ty <+> arrow <+> pp_ty |