[project @ 2004-08-26 15:44:50 by simonpj]
[ghc-hetmet.git] / ghc / compiler / types / TypeRep.lhs
index 5b527a0..a867cad 100644 (file)
@@ -34,10 +34,10 @@ import Kind
 import Var       ( Id, TyVar, tyVarKind )
 import VarEnv     ( TyVarEnv )
 import VarSet     ( TyVarSet )
-import Name      ( Name, NamedThing(..), mkWiredInName )
+import Name      ( Name, NamedThing(..), BuiltInSyntax(..), mkWiredInName )
 import OccName   ( mkOccFS, tcName )
 import BasicTypes ( IPName, tupleParens )
-import TyCon     ( TyCon, mkFunTyCon, tyConArity, tupleTyConBoxity, isTupleTyCon )
+import TyCon     ( TyCon, mkFunTyCon, tyConArity, tupleTyConBoxity, isTupleTyCon, isRecursiveTyCon )
 import Class     ( Class )
 
 -- others
@@ -290,6 +290,7 @@ funTyConName = mkWiredInName gHC_PRIM
                        funTyConKey
                        Nothing                 -- No parent object
                        (ATyCon funTyCon)       -- Relevant TyCon
+                       BuiltInSyntax
 \end{code}
 
 
@@ -356,7 +357,10 @@ ppr_type p (NoteTy (SynNote ty1) ty2) = ppr_type p ty1
 ppr_type p (NoteTy other         ty2) = ppr_type p ty2
 
 ppr_type p (TyConApp tc tys) = ppr_tc_app p tc tys
-ppr_type p (NewTcApp tc tys) = ifPprDebug (ptext SLIT("<nt>")) <> 
+ppr_type p (NewTcApp tc tys) = ifPprDebug (if isRecursiveTyCon tc 
+                                          then ptext SLIT("<recnt>")
+                                          else ptext SLIT("<nt>")
+                                 ) <> 
                               ppr_tc_app p tc tys
 
 ppr_type p (AppTy t1 t2) = maybeParen p TyConPrec $