summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2016-07-06 15:44:07 +0200
committerJoachim Breitner <mail@joachim-breitner.de>2016-07-06 15:44:07 +0200
commit8bc7393a6b2630b76096238f1c2622697367d8a9 (patch)
tree65d0bade48ee5f5c56dac5c1b89adee451c487bb
parent36c4c7baf5f9a30b9e651917cbbc327a7f3f4941 (diff)
downloadhaskell-wip/T10613.tar.gz
Pretty print reasons for Manywip/T10613
-rw-r--r--compiler/basicTypes/Demand.hs7
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/basicTypes/Demand.hs b/compiler/basicTypes/Demand.hs
index c8d42b04e4..03be2368e5 100644
--- a/compiler/basicTypes/Demand.hs
+++ b/compiler/basicTypes/Demand.hs
@@ -377,8 +377,7 @@ data Count = One | Many ManyReasons
-- Pretty-printing
instance Outputable ArgUse where
ppr Abs = char 'A'
- ppr (Use (Many _) a) = ppr a
- ppr (Use One a) = char '1' <> char '*' <> ppr a
+ ppr (Use c a) = ppr c <> char '*' <> ppr a
instance Outputable UseDmd where
ppr Used = char 'U'
@@ -388,7 +387,7 @@ instance Outputable UseDmd where
instance Outputable Count where
ppr One = char '1'
- ppr (Many _) = text ""
+ ppr (Many mr) = text "ω" <> parens (hcat (punctuate (char ',') (map text mr)))
useBot, useTop :: ArgUse
useBot = Abs
@@ -761,7 +760,7 @@ oneifyDmd jd = jd
isTopDmd :: Demand -> Bool
-- Used to suppress pretty-printing of an uninformative demand
-isTopDmd (JD {sd = Lazy, ud = Use (Many _) Used}) = True
+isTopDmd (JD {sd = Lazy, ud = Use (Many _) Used}) = False -- True
isTopDmd _ = False
isAbsDmd :: Demand -> Bool