[make LambdaLift use Names rather than Atoms when it lifts values to the top level.
John Meacham <john@repetae.net>**20060228025441] hunk ./E/LambdaLift.hs 38
-data S = S { funcName :: Atom, topVars :: Set.Set Int, isStrict :: Bool, declEnv :: [(TVr,E)] }
+data S = S { funcName :: Name, topVars :: Set.Set Int, isStrict :: Bool, declEnv :: [(TVr,E)] }
hunk ./E/LambdaLift.hs 54
-            let ((v',cs'),stat) = runReader (runStatT $ execUniqT 1 $ runWriterT (f v)) S { funcName = (intToAtom' (tvrNum n)), topVars = wp,isStrict = True, declEnv = [] }
+            let ((v',cs'),stat) = runReader (runStatT $ execUniqT 1 $ runWriterT (f v)) S { funcName = mkFuncName (tvrIdent n), topVars = wp,isStrict = True, declEnv = [] }
hunk ./E/LambdaLift.hs 146
-            return $ tVr (atomIndex (n `mappend` toAtom ("$" ++ show un))) tt
+            return $ tVr (toId $ mapName (id,(++ ('$':show un))) n) tt
hunk ./E/LambdaLift.hs 177
-        intToAtom' x = case intToAtom x of
+        mkFuncName x = case fromId x of
hunk ./E/LambdaLift.hs 179
-            Nothing -> toAtom $ toName Val ("LL@",'f':show x)
+            Nothing -> toName Val ("LL@",'f':show x)