[use traversal routine in FrontEnd.Rename
John Meacham <john@repetae.net>**20060408013246] hunk ./FrontEnd/Rename.hs 91
+import FrontEnd.Syn.Traverse
hunk ./FrontEnd/Rename.hs 149
+instance MonadSrcLoc ScopeSM where
+    getSrcLoc = gets srcLoc
+instance MonadSetSrcLoc ScopeSM where
+    withSrcLoc sl a = modify (\s -> s { srcLoc = sl `mappend` srcLoc s}) >> a
+
hunk ./FrontEnd/Rename.hs 587
-renameHsPat (HsPLit hsLiteral) _subTable
-  = return (HsPLit hsLiteral)
-renameHsPat (HsPNeg hsPat) subTable = do
-      hsPat' <- renameHsPat hsPat subTable
-      return (HsPNeg hsPat')
hunk ./FrontEnd/Rename.hs 596
-renameHsPat (HsPTuple hsPats) subTable = do
-      hsPats' <- renameAny hsPats subTable
-      return (HsPTuple hsPats')
-renameHsPat (HsPList hsPats) subTable = do
-      hsPats' <- renameAny hsPats subTable
-      return (HsPList hsPats')
-renameHsPat (HsPParen hsPat) subTable = do
-      hsPat' <- renameHsPat hsPat subTable
-      return (HsPParen hsPat')
hunk ./FrontEnd/Rename.hs 601
-  --    return (HsPRec hsName hsPatFields)
hunk ./FrontEnd/Rename.hs 605
-renameHsPat HsPWildCard subTable = do
-    return HsPWildCard
---      unique <- newUniq
---      mod <- getCurrentModule
---      let hsName' = Qual mod (HsIdent $ show unique ++ "_wild@")
---      return (HsPVar hsName')
---renameHsPat (HsPWildCard) _subTable
---  = return HsPWildCard
-renameHsPat (HsPIrrPat hsPat) subTable = do
-      hsPat' <- renameHsPat hsPat subTable
-      return (HsPIrrPat hsPat')
+renameHsPat p subTable = traverseHsPat (flip renameHsPat subTable) p
hunk ./FrontEnd/Rename.hs 702
-    --ic <- renameHsExp (HsCon (UnQual (HsIdent "Integer"))) st
hunk ./FrontEnd/Rename.hs 705
-    --ic <- renameHsExp (HsCon (UnQual (HsIdent "Integer"))) st
hunk ./FrontEnd/Rename.hs 706
-renameHsExp (HsLit hsLiteral) _subTable = do
-    return (HsLit hsLiteral)
-renameHsExp (HsInfixApp hsExp1 hsExp2 hsExp3) subTable = do
-    hsExp1' <- renameHsExp hsExp1 subTable
-    hsExp2' <- renameHsExp hsExp2 subTable
-    hsExp3' <- renameHsExp hsExp3 subTable
-    return (HsInfixApp hsExp1' hsExp2' hsExp3')
-renameHsExp (HsApp hsExp1 hsExp2) subTable = do
-    hsExp1' <- renameHsExp hsExp1 subTable
-    hsExp2' <- renameHsExp hsExp2 subTable
-    return (HsApp hsExp1' hsExp2')
-renameHsExp (HsNegApp hsExp) subTable = do
-    hsExp' <- renameHsExp hsExp subTable
-    return (HsNegApp hsExp')
hunk ./FrontEnd/Rename.hs 717
-renameHsExp (HsIf hsExp1 hsExp2 hsExp3) subTable = do
-    hsExp1' <- renameHsExp hsExp1 subTable
-    hsExp2' <- renameHsExp hsExp2 subTable
-    hsExp3' <- renameHsExp hsExp3 subTable
-    return (HsIf hsExp1' hsExp2' hsExp3')
hunk ./FrontEnd/Rename.hs 724
-    --(hsStmts',_) <- renameHsStmts hsStmts subTable
-    --return (doToExp hsStmts')
-renameHsExp (HsTuple hsExps) subTable = do
-    hsExps' <- renameHsExps hsExps subTable
-    return (HsTuple hsExps')
hunk ./FrontEnd/Rename.hs 730
-renameHsExp (HsParen hsExp) subTable = do
-    hsExp' <- renameHsExp hsExp subTable
-    return (hsParen hsExp')
-renameHsExp (HsLeftSection hsExp1 hsExp2) subTable = do
-    hsExp1' <- renameHsExp hsExp1 subTable
-    hsExp2' <- renameHsExp hsExp2 subTable
-    return (HsLeftSection hsExp1' hsExp2')
-renameHsExp (HsRightSection hsExp1 hsExp2) subTable = do
-    hsExp1' <- renameHsExp hsExp1 subTable
-    hsExp2' <- renameHsExp hsExp2 subTable
-    return (HsRightSection hsExp1' hsExp2')
--- XXX I'm not 100% sure that this bit works.
hunk ./FrontEnd/Rename.hs 744
-    --return (HsEnumFrom hsExp')
hunk ./FrontEnd/Rename.hs 749
-    --hsExp' <- renameHsExp x subTable
-    --hsExp1' <- renameHsExp hsExp1 subTable
-    --hsExp2' <- renameHsExp hsExp2 subTable
-    --return (HsEnumFromTo hsExp1' hsExp2')
hunk ./FrontEnd/Rename.hs 753
-    --hsExp1' <- renameHsExp hsExp1 subTable
-    --hsExp2' <- renameHsExp hsExp2 subTable
-    --return (HsEnumFromThen hsExp1' hsExp2')
hunk ./FrontEnd/Rename.hs 757
-    --hsExp1' <- renameHsExp hsExp1 subTable
-    --hsExp2' <- renameHsExp hsExp2 subTable
-    --hsExp3' <- renameHsExp hsExp3 subTable
-    --return (HsEnumFromThenTo hsExp1' hsExp2' hsExp3')
hunk ./FrontEnd/Rename.hs 774
-renameHsExp (HsIrrPat hsExp) subTable = do
-    hsExp' <- renameHsExp hsExp subTable
-    return (HsIrrPat hsExp')
+renameHsExp p subTable = traverseHsExp (flip renameHsExp subTable) p