Fix the behaviour of :print with functions
authorPepe Iborra <mnislaih@gmail.com>
Wed, 21 Feb 2007 15:11:17 +0000 (15:11 +0000)
committerPepe Iborra <mnislaih@gmail.com>
Wed, 21 Feb 2007 15:11:17 +0000 (15:11 +0000)
It now outputs "<function>" instead of showing them as thunks

compiler/ghci/RtClosureInspect.hs

index 7a6dee5..8fd15c0 100644 (file)
@@ -313,8 +313,9 @@ printTerm :: Term -> SDoc
 printTerm Prim{value=value} = text value 
 printTerm t@Term{} = printTerm1 0 t 
 printTerm Suspension{bound_to=Nothing} =  char '_' -- <> ppr ct <> char '_'
-printTerm Suspension{mb_ty=Just ty, bound_to=Just n} =
-  parens$ ppr n <> text "::" <> ppr ty 
+printTerm Suspension{mb_ty=Just ty, bound_to=Just n}
+  | Just _ <- splitFunTy_maybe ty = text "<function>"
+  | otherwise = parens$ ppr n <> text "::" <> ppr ty 
 
 printTerm1 p Term{dc=dc, subTerms=tt} 
 {-  | dataConIsInfix dc, (t1:t2:tt') <- tt