Add an Outputable instance for ListMap
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 26 Jul 2017 07:31:47 +0000 (08:31 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 26 Jul 2017 07:58:08 +0000 (08:58 +0100)
compiler/coreSyn/TrieMap.hs

index a6b9db4..fcff256 100644 (file)
@@ -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 }