@getUnique@ method to grab their @Uniques@.
\begin{code}
-{-# OPTIONS -Wall -fno-warn-name-shadowing -Werror -fallow-undecidable-instances #-}
+{-# OPTIONS -Wall -fno-warn-name-shadowing -Werror #-}
module LazyUniqFM (
+ -- * Lazy unique-keyed mappings
UniqFM, -- abstract type
+ -- ** Manipulating those mappings
emptyUFM,
unitUFM,
unitDirectlyUFM,
\begin{code}
data Lazy a = Lazy { fromLazy :: a }
+-- | @UniqFM a@ is a mapping from Unique to @a@ where the element @a@ is evaluated lazily.
newtype UniqFM ele = MkUniqFM (S.UniqFM (Lazy ele))
-instance Outputable (S.UniqFM (Lazy a)) => Outputable (UniqFM a) where
+instance Outputable a => Outputable (UniqFM a) where
ppr (MkUniqFM fm) = ppr fm
instance Outputable a => Outputable (Lazy a) where