[project @ 2004-05-19 07:46:20 by simonpj]
authorsimonpj <unknown>
Wed, 19 May 2004 07:46:20 +0000 (07:46 +0000)
committersimonpj <unknown>
Wed, 19 May 2004 07:46:20 +0000 (07:46 +0000)
Print constructor arg types in parens

libraries/template-haskell/Language/Haskell/TH/Ppr.hs

index 955ee1e..02ac80c 100644 (file)
@@ -240,12 +240,14 @@ instance Ppr Con where
 
 ------------------------------
 pprVarStrictType :: (Name, Strict, Type) -> Doc
+-- Slight infelicity: with print non-atomic type with parens
 pprVarStrictType (v, str, t) = ppr v <+> text "::" <+> pprStrictType (str, t)
 
 ------------------------------
 pprStrictType :: (Strict, Type) -> Doc
-pprStrictType (IsStrict, t) = char '!' <> ppr t
-pprStrictType (NotStrict, t) = ppr t
+-- Prints with parens if not already atomic
+pprStrictType (IsStrict, t) = char '!' <> pprParendType t
+pprStrictType (NotStrict, t) = pprParendType t
 
 ------------------------------
 pprParendType :: Type -> Doc