[clean up some old cruft dealing with names
John Meacham <john@repetae.net>**20090228041535
 Ignore-this: 7dd37bbf916f99c261aabd3abcf579e
] hunk ./DataConstructors.hs 453
-        h cl | cl == class_Eq = [mkCmpFunc (func_equals sFuncNames) Op.Eq]
+        h cl | cl == class_Eq = [mkCmpFunc v_equals Op.Eq]
hunk ./DataConstructors.hs 455
-                mkCmpFunc (func_geq sFuncNames) Op.UGte,
-                mkCmpFunc (func_leq sFuncNames) Op.ULte,
-                mkCmpFunc (func_lt sFuncNames)  Op.ULt,
-                mkCmpFunc (func_gt sFuncNames)  Op.UGt]
+                mkCmpFunc v_geq Op.UGte,
+                mkCmpFunc v_leq Op.ULte,
+                mkCmpFunc v_lt  Op.ULt,
+                mkCmpFunc v_gt  Op.UGt]
hunk ./DataConstructors.hs 470
-            iv_te = setProperty prop_INSTANCE tvr { tvrIdent = toId $ instanceName (func_toEnum sFuncNames) (nameName $ conName c), tvrType = getType ib_te }
-            iv_fe = setProperty prop_INSTANCE tvr { tvrIdent = toId $ instanceName (func_fromEnum sFuncNames) (nameName $ conName c), tvrType = getType ib_fe }
+            iv_te = setProperty prop_INSTANCE tvr { tvrIdent = toId $ instanceName v_toEnum (nameName $ conName c), tvrType = getType ib_te }
+            iv_fe = setProperty prop_INSTANCE tvr { tvrIdent = toId $ instanceName v_fromEnum (nameName $ conName c), tvrType = getType ib_fe }
hunk ./DerivingDrift/Drift.hs 6
-import qualified Data.Traversable as T
hunk ./DerivingDrift/Drift.hs 15
-import Name.VConsts
hunk ./DerivingDrift/Drift.hs 38
-    (f class_Eq, [func_equals fns]),
-    (f class_Ord, [func_geq fns, func_leq fns, func_lt fns, func_gt fns]),
-    (f class_Enum, [func_toEnum fns,func_fromEnum fns] ++ map (nameName . toUnqualified) [v_enumFrom, v_succ, v_pred, v_enumFromThen, v_enumFromThenTo, v_enumFromTo])
+    (f class_Eq, [f v_equals]),
+    (f class_Ord, [f v_geq, f v_leq, f v_lt, f v_gt]),
+    (f class_Enum, [f v_toEnum,f v_fromEnum] ++ map (nameName . toUnqualified) [v_enumFrom, v_succ, v_pred, v_enumFromThen, v_enumFromThenTo, v_enumFromTo])
hunk ./DerivingDrift/Drift.hs 42
-        Identity fns = T.mapM (return . f) sFuncNames
hunk ./FrontEnd/Desugar.hs 322
-desugarExp (HsDo stmts) = do
-        newStmts <- mapM desugarStmt stmts
-        ss <- doToExp newStmts
-        return ss
+desugarExp (HsDo stmts) = HsDo `liftM` mapM desugarStmt stmts
hunk ./FrontEnd/Desugar.hs 390
-{-
-f_bind = nameName $ toUnqualified (func_bind sFuncNames)
-f_bind_ = nameName $ toUnqualified (func_bind_ sFuncNames)
-f_concatMap = nameName $ toUnqualified v_concatMap
-f_map = nameName $ toUnqualified v_map
-f_foldr = nameName $ toUnqualified v_foldr
-f_fail = nameName $ toUnqualified v_fail
---f_filter = nameName $ toUnqualified v_filter
-f_and = nameName $ toUnqualified v_and
-con_cons = nameName $ toUnqualified dc_Cons
--}
hunk ./FrontEnd/Desugar.hs 391
-f_bind = nameName $ toUnqualified (func_bind sFuncNames)
-f_bind_ = nameName $ toUnqualified (func_bind_ sFuncNames)
-f_fail = nameName $ toUnqualified v_fail
hunk ./FrontEnd/Desugar.hs 392
-doToExp :: Monad m => [HsStmt] -> m HsExp
-doToExp [] = fail "doToExp: empty statements in do notation"
-doToExp [HsQualifier e] = return e
-doToExp [gen@(HsGenerator srcLoc _pat _e)] = fail $ "doToExp: last expression n do notation is a generator (srcLoc):" ++ show srcLoc
-doToExp [letst@(HsLetStmt _decls)] = fail $ "doToExp: last expression n do notation is a let statement"
-doToExp ((HsQualifier e):ss) = do
-    ss <- doToExp ss
-    return $ HsInfixApp (hsParen e) (HsVar f_bind_) (hsParen ss)
-doToExp ((HsGenerator _srcLoc pat e):ss) | isLazyPat pat = do
-    ss <- doToExp ss
-    return $ HsInfixApp (hsParen e) (HsVar f_bind) (HsLambda _srcLoc [pat] ss)
-doToExp ((HsGenerator srcLoc pat e):ss) = do
-    ss <- doToExp ss
-    let kase = HsCase patVar [a1, a2 ]
-        a1 =  HsAlt srcLoc pat (HsUnGuardedRhs ss) []
-        a2 =  HsAlt srcLoc HsPWildCard (HsUnGuardedRhs (HsApp (HsVar f_fail) (HsLit $ HsString $ show srcLoc ++ " failed pattern match in do"))) []
-    return $ HsInfixApp (hsParen e) (HsVar f_bind) (HsLambda srcLoc [HsPVar newPatVarName] kase)  where
-doToExp (HsLetStmt decls:ss) = do
-    ss <- doToExp ss
-    return $ HsLet decls ss
+doToExp :: Monad m
+    => m HsName    -- ^ name generator
+    -> HsName      -- ^ bind (>>=) to use
+    -> HsName      -- ^ bind_ (>>) to use
+    -> HsName      -- ^ fail to use
+    -> [HsStmt]
+    -> m HsExp
+doToExp newName f_bind f_bind_ f_fail ss = f ss where
+    f [] = fail "doToExp: empty statements in do notation"
+    f [HsQualifier e] = return e
+    f [gen@(HsGenerator srcLoc _pat _e)] = fail $ "doToExp: last expression n do notation is a generator (srcLoc):" ++ show srcLoc
+    f [letst@(HsLetStmt _decls)] = fail $ "doToExp: last expression n do notation is a let statement"
+    f (HsQualifier e:ss) = do
+        ss <- f ss
+        return $ HsInfixApp (hsParen e) (HsVar f_bind_) (hsParen ss)
+    f ((HsGenerator _srcLoc pat e):ss) | isLazyPat pat = do
+        ss <- f ss
+        return $ HsInfixApp (hsParen e) (HsVar f_bind) (HsLambda _srcLoc [pat] ss)
+    f ((HsGenerator srcLoc pat e):ss) = do
+        npvar <- newName
+        ss <- f ss
+        let kase = HsCase (HsVar npvar) [a1, a2 ]
+            a1 =  HsAlt srcLoc pat (HsUnGuardedRhs ss) []
+            a2 =  HsAlt srcLoc HsPWildCard (HsUnGuardedRhs (HsApp (HsVar f_fail) (HsLit $ HsString $ show srcLoc ++ " failed pattern match in do"))) []
+        return $ HsInfixApp (hsParen e) (HsVar f_bind) (HsLambda srcLoc [HsPVar npvar] kase)  where
+    f (HsLetStmt decls:ss) = do
+        ss <- f ss
+        return $ HsLet decls ss
+
+--    f_bind = nameName $ toUnqualified (func_bind sFuncNames)
+--    f_bind_ = nameName $ toUnqualified (func_bind_ sFuncNames)
+--    f_fail = nameName $ toUnqualified v_fail
hunk ./FrontEnd/Rename.hs 4
-import Control.Monad.Identity
hunk ./FrontEnd/Rename.hs 13
-import qualified Data.Traversable as T
hunk ./FrontEnd/Rename.hs 493
-uqFuncNames :: V.FuncNames HsName
-Identity uqFuncNames = T.mapM (return . nameName . toUnqualified) sFuncNames
-
-func_fromRational = (HsVar $ V.func_fromRational uqFuncNames)
+f_fromRational = HsVar $ nameName (toUnqualified v_fromRational)
hunk ./FrontEnd/Rename.hs 507
-        z <- rename func_fromRational
+        z <- rename f_fromRational
hunk ./FrontEnd/Rename.hs 522
-    rename (HsDo hsStmts) = rename =<< doToExp hsStmts
+    rename (HsDo hsStmts) = rename =<< doToExp newVar (nameName v_bind) (nameName v_bind_) (nameName v_fail) hsStmts
hunk ./Name/Names.hs 80
-    func_bind = v_bind,
-    func_bind_ = v_bind_,
-    func_return = v_return,
-    func_concatMap = v_concatMap,
+    func_equals = v_equals,
hunk ./Name/Names.hs 85
-    func_leq = v_leq,
-    func_geq = v_geq,
-    func_lt = v_lt,
-    func_gt = v_gt,
-    func_compare = v_compare,
-    func_equals = v_equals,
-    func_neq = v_neq,
-    func_fromEnum = v_fromEnum,
-    func_toEnum = v_toEnum,
-    func_minBound = v_minBound,
-    func_maxBound = v_maxBound,
-    func_enumFrom = v_enumFrom,
-    func_enumFromThen = v_enumFromThen,
-    func_range = v_range,
-    func_index = v_index,
-    func_inRange = v_inRange,
hunk ./Name/Names.hs 86
-    func_runRaw = v_runRaw,
hunk ./Name/Names.hs 87
-    func_runNoWrapper = v_runNoWrapper
+    func_runNoWrapper = v_runNoWrapper,
+    func_runRaw = v_runRaw
hunk ./Name/VConsts.hs 83
-    func_bind :: a,
-    func_bind_ :: a,
-    func_return :: a,
-    func_concatMap :: a,
hunk ./Name/VConsts.hs 89
-    func_runRaw :: a,
hunk ./Name/VConsts.hs 90
-    func_leq :: a,
-    func_geq :: a,
-    func_lt :: a,
-    func_gt :: a,
-    func_compare :: a,
-    func_neq :: a,
-    func_fromEnum :: a,
-    func_toEnum :: a,
-    func_minBound :: a,
-    func_maxBound :: a,
-    func_enumFrom :: a,
-    func_enumFromThen :: a,
-    func_range :: a,
-    func_index :: a,
-    func_inRange :: a,
-    func_runNoWrapper :: a
+    func_runNoWrapper :: a,
+    func_runRaw :: a
hunk ./data/names.txt 79
+
hunk ./data/names.txt 87
-fail             Jhc.Monad.fail
hunk ./data/names.txt 97
+fail                 Jhc.Monad.fail