summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2017-07-26 08:31:47 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2017-07-26 08:58:08 +0100
commit746ab0b4a2f97d9f2a97fc28431e5bdfbc10b8cf (patch)
treedd2f8470e3f4dd6f5eabdd176f23e2ddf58319cd
parent6bb32ba78580271921e3d5c3c98afac2c1b68de4 (diff)
downloadhaskell-746ab0b4a2f97d9f2a97fc28431e5bdfbc10b8cf.tar.gz
Add an Outputable instance for ListMap
-rw-r--r--compiler/coreSyn/TrieMap.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/coreSyn/TrieMap.hs b/compiler/coreSyn/TrieMap.hs
index a6b9db46cb..fcff256123 100644
--- a/compiler/coreSyn/TrieMap.hs
+++ b/compiler/coreSyn/TrieMap.hs
@@ -278,6 +278,9 @@ instance TrieMap m => TrieMap (ListMap m) where
foldTM = fdList
mapTM = mapList
+instance (TrieMap m, Outputable a) => Outputable (ListMap m a) where
+ ppr m = text "List elts" <+> ppr (foldTM (:) m [])
+
mapList :: TrieMap m => (a->b) -> ListMap m a -> ListMap m b
mapList f (LM { lm_nil = mnil, lm_cons = mcons })
= LM { lm_nil = fmap f mnil, lm_cons = mapTM (mapTM f) mcons }