X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Futils%2FLazyUniqFM.lhs;h=97451b0eea6afdc265408acde125e6adb12bf17f;hb=c74c72f60dcc4cbea519826e98ec90ad8016b49d;hp=99be1635c567406a2453f2c89b499c0c1f3004c4;hpb=9fd4126858ff63ef9dc1c71f439eed11ef69f169;p=ghc-hetmet.git diff --git a/compiler/utils/LazyUniqFM.lhs b/compiler/utils/LazyUniqFM.lhs index 99be163..97451b0 100644 --- a/compiler/utils/LazyUniqFM.lhs +++ b/compiler/utils/LazyUniqFM.lhs @@ -11,10 +11,11 @@ Basically, the things need to be in class @Uniquable@, and we use the @getUnique@ method to grab their @Uniques@. \begin{code} -{-# OPTIONS -Wall -fno-warn-name-shadowing -Werror #-} module LazyUniqFM ( + -- * Lazy unique-keyed mappings UniqFM, -- abstract type + -- ** Manipulating those mappings emptyUFM, unitUFM, unitDirectlyUFM, @@ -177,6 +178,7 @@ ufmToList :: UniqFM elt -> [(Unique, elt)] \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 a => Outputable (UniqFM a) where