[convert some more Grin code to use GMap
John Meacham <john@repetae.net>**20100727083843
 Ignore-this: 2d9f0c2ce6d9117993bb8b25dbd6001
] hunk ./src/Grin/Optimize.hs 12
-import Stats hiding(null)
+import Stats hiding(null,isEmpty)
hunk ./src/Grin/Optimize.hs 15
+import Util.HasSize
+import Util.GMap
hunk ./src/Grin/Optimize.hs 68
-        let def = (Set.fromList $ map funcDefName defs)
-            f (e :>>= l :-> r) | Set.null (freeVars e `Set.intersection` def) = do
+        let def = (fromList $ map funcDefName defs :: GSet Atom)
+            f (e :>>= l :-> r) | isEmpty (freeVars e `intersection` def) = do
hunk ./src/Grin/Optimize.hs 182
-    let sset = Set.fromList (map tagFlipFunction specs)
+    let sset = fromList (map tagFlipFunction specs) :: GSet Tag
hunk ./src/Grin/SSimplify.hs 16
+import Util.GMap
+import Util.SetLike
+import Util.HasSize
hunk ./src/Grin/SSimplify.hs 47
-    colFreeVars :: Set.Set Var
+    colFreeVars :: GSet Var
hunk ./src/Grin/SSimplify.hs 52
-    expFreeVars :: Set.Set Var,
+    expFreeVars :: GSet Var,
hunk ./src/Grin/SSimplify.hs 85
-    let f col = col { colFreeVars = colFreeVars col Set.\\ freeVars ps }
+    let f col = col { colFreeVars = colFreeVars col \\ freeVars ps }
hunk ./src/Grin/SSimplify.hs 87
-    ps <- mapM (zeroVars (`Set.member` colFreeVars col)) ps
+    ps <- mapM (zeroVars (`member` colFreeVars col)) ps
hunk ./src/Grin/SSimplify.hs 128
-        if isOmittable e && Set.null (freeVars p `Set.intersection` colFreeVars col) then do
+        if isOmittable e && isEmpty (freeVars p `intersection` colFreeVars col) then do
hunk ./src/Grin/SSimplify.hs 234
-        let dnames = Set.fromList $ map funcDefName defs
-            isInvalid e = Set.null (freeVars e `Set.intersection` dnames)
+        let dnames = fromList $ map funcDefName defs :: GSet Atom
+            isInvalid e = isEmpty (freeVars e `intersection` dnames)
hunk ./src/Grin/SSimplify.hs 351
-    f (UnTail t1 u1) (UnTail t2 u2) = UnTail (t1 `Set.union` t2) (f u1 u2)
+    f (UnTail t1 u1) (UnTail t2 u2) = UnTail (t1 `union` t2) (f u1 u2)
hunk ./src/Grin/SSimplify.hs 373
-    f (App f _ ts) = UnTail (Set.singleton f) (UnErr ts)
+    f (App f _ ts) = UnTail (singleton f) (UnErr ts)
hunk ./src/Grin/SSimplify.hs 383
-editTail nty mt te = f mempty te where
+editTail nty mt te = f (sempty :: GSet Atom) te where
hunk ./src/Grin/SSimplify.hs 390
-        let nlf = lf `Set.union` Set.fromList (map funcDefName defs)
+        let nlf = lf `union` fromList (map funcDefName defs)
hunk ./src/Grin/SSimplify.hs 399
-    f lf e@(App a as t) | a `Set.member` lf = return $ App a as nty
+    f lf e@(App a as t) | a `member` lf = return $ App a as nty
hunk ./src/Grin/SSimplify.hs 412
-    f name lam | name `Set.notMember` (freeVars lam) = return lam
+    f name lam | name `notMember` (freeVars lam :: GSet Atom) = return lam
hunk ./src/Grin/Whiz.hs 6
-import Data.Monoid
-import qualified Data.Map as Map
hunk ./src/Grin/Whiz.hs 7
+import Util.GMap
+import Util.SetLike
+import Util.HasSize
hunk ./src/Grin/Whiz.hs 16
-type WhizEnv = Map.Map Var Val
+type WhizEnv = GMap Var Val
hunk ./src/Grin/Whiz.hs 176
-        | Just n <- Map.lookup v env =  return n
+        | Just n <- mlookup v env =  return n
hunk ./src/Grin/Whiz.hs 187
-        tell (Map.singleton v nv)
+        tell (msingleton v nv)
hunk ./src/Grin/Whiz.hs 201
-                v n | n `Set.member` s = v (n + Set.size s)
+                v n | n `member` s = v (n + size s)
hunk ./src/Grin/Whiz.hs 203
-            put (Left $! Set.insert nv s)
+            put (Left $! insert nv s)