[add newIds function to generate some unique ids given a set of ids you should not use
John Meacham <john@repetae.net>**20061212091133] hunk ./E/E.hs 2
-module E.E(module E.Type, module E.E, module E.FreeVars) where
+module E.E(
+    Id(),
+    IdMap(),
+    IdSet(),
+    newIds,
+    module E.Type,
+    module E.E,
+    module E.FreeVars
+    ) where
hunk ./Name/Id.hs 19
+    newIds,
hunk ./Name/Id.hs 156
+
+-- | find some temporary ids that are not members of the set,
+-- useful for generating a small number of local unique names.
+
+newIds :: IdSet -> [Id]
+newIds ids = [ i | i <- [s, s + 2 ..] , i `notMember` ids ] where
+    s = 2 + (2 * size ids)
+
+