projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make tyConSingleDataCon_maybe more forgiving
[ghc-hetmet.git]
/
compiler
/
types
/
TypeRep.lhs
diff --git
a/compiler/types/TypeRep.lhs
b/compiler/types/TypeRep.lhs
index
f71606e
..
5c29087
100644
(file)
--- a/
compiler/types/TypeRep.lhs
+++ b/
compiler/types/TypeRep.lhs
@@
-15,7
+15,7
@@
module TypeRep (
Kind, ThetaType, -- Synonyms
Kind, ThetaType, -- Synonyms
- funTyCon,
+ funTyCon, funTyConName,
-- Pretty-printing
pprType, pprParendType, pprTypeApp,
-- Pretty-printing
pprType, pprParendType, pprTypeApp,
@@
-53,7
+53,6
@@
import {-# SOURCE #-} DataCon( DataCon, dataConName )
-- friends:
import Var
import Name
-- friends:
import Var
import Name
-import OccName
import BasicTypes
import TyCon
import Class
import BasicTypes
import TyCon
import Class
@@
-432,7
+431,14
@@
pprTypeApp tc tys = ppr_type_app TopPrec (getName tc) tys
pprPred :: PredType -> SDoc
pprPred (ClassP cls tys) = pprClassPred cls tys
pprPred (IParam ip ty) = ppr ip <> dcolon <> pprType ty
pprPred :: PredType -> SDoc
pprPred (ClassP cls tys) = pprClassPred cls tys
pprPred (IParam ip ty) = ppr ip <> dcolon <> pprType ty
-pprPred (EqPred ty1 ty2) = sep [ppr ty1, nest 2 (ptext (sLit "~")), ppr ty2]
+pprPred (EqPred ty1 ty2) = sep [ ppr_type FunPrec ty1
+ , nest 2 (ptext (sLit "~"))
+ , ppr_type FunPrec ty2]
+ -- Precedence looks like (->) so that we get
+ -- Maybe a ~ Bool
+ -- (a->a) ~ Bool
+ -- Note parens on the latter!
+
pprClassPred :: Class -> [Type] -> SDoc
pprClassPred clas tys = ppr_type_app TopPrec (getName clas) tys
pprClassPred :: Class -> [Type] -> SDoc
pprClassPred clas tys = ppr_type_app TopPrec (getName clas) tys