changed 'fmap' to 'liftM' where appropriate.
authorNorman Ramsey <nr@cs.tufts.edu>
Thu, 10 Jun 2010 20:46:24 +0000 (16:46 -0400)
committerNorman Ramsey <nr@cs.tufts.edu>
Thu, 10 Jun 2010 20:46:24 +0000 (16:46 -0400)
src/Compiler/Hoopl/Combinators.hs
testing/ConstProp.hs
testing/OptSupport.hs
testing/Simplify.hs

index 6fc8940..f9f5664 100644 (file)
@@ -79,7 +79,7 @@ wrapFRewrites2 map = wrapFRewrites23 (map, map, map)
 
 shallowFwdRw3 :: forall m n f . Monad m => SimpleFwdRewrite3 m n f -> FwdRewrite m n f
 shallowFwdRw3 rw = wrapSFRewrites' lift rw
-  where lift rw n f = liftM (fmap (flip FwdRew noFwdRewrite)) (rw n f) 
+  where lift rw n f = liftM (liftM (flip FwdRew noFwdRewrite)) (rw n f) 
 
 shallowFwdRw :: Monad m => SimpleFwdRewrite m n f -> FwdRewrite m n f
 shallowFwdRw f = shallowFwdRw3 (f, f, f)
@@ -158,7 +158,7 @@ noBwdRewrite = mkBRewrite $ \ _ _ -> return Nothing
 
 shallowBwdRw3 :: Monad m => SimpleBwdRewrite3 m n f -> BwdRewrite m n f
 shallowBwdRw3 rw = wrapSBRewrites' lift rw
-  where lift rw n f = liftM (fmap (flip BwdRew noBwdRewrite)) (rw n f)
+  where lift rw n f = liftM (liftM (flip BwdRew noBwdRewrite)) (rw n f)
 
 shallowBwdRw :: Monad m => SimpleBwdRewrite m n f -> BwdRewrite m n f
 shallowBwdRw f = shallowBwdRw3 (f, f, f)
@@ -179,7 +179,7 @@ thenBwdRw rw1 rw2 = wrapBRewrites2' f rw1 rw2
 
 iterBwdRw :: Monad m => BwdRewrite m n f -> BwdRewrite m n f
 iterBwdRw rw = wrapBRewrites' f rw
-  where f rw' n f = liftM (fmap iterRewrite) (rw' n f)
+  where f rw' n f = liftM (liftM iterRewrite) (rw' n f)
         iterRewrite (BwdRew g rw2) = BwdRew g (rw2 `thenBwdRw` iterBwdRw rw)
 
 -- @ start pairf.tex
@@ -204,7 +204,7 @@ pairFwd pass1 pass2 = FwdPass lattice transfer rewrite
     rewrite = liftRW (fp_rewrite pass1) fst `thenFwdRw` liftRW (fp_rewrite pass2) snd
       where
         liftRW rws proj = mkFRewrite3 (lift f) (lift m) (lift l)
-          where lift rw n f = liftM (fmap projRewrite) $ rw n (proj f)
+          where lift rw n f = liftM (liftM projRewrite) $ rw n (proj f)
                 projRewrite (FwdRew g rws') = FwdRew g $ liftRW rws' proj
                 (f, m, l) = getFRewrite3 rws
 
@@ -222,7 +222,7 @@ pairBwd pass1 pass2 = BwdPass lattice transfer rewrite
       where
         liftRW :: forall f1 . BwdRewrite m n f1 -> ((f, f') -> f1) -> BwdRewrite m n (f, f')
         liftRW rws proj = mkBRewrite3 (lift proj f) (lift proj m) (lift (mapMap proj) l)
-          where lift proj' rw n f = liftM (fmap projRewrite) $ rw n (proj' f)
+          where lift proj' rw n f = liftM (liftM projRewrite) $ rw n (proj' f)
                 projRewrite (BwdRew g rws') = BwdRew g $ liftRW rws' proj
                 (f, m, l) = getBRewrite3 rws
 
index 38a75d0..4d05e20 100644 (file)
@@ -2,6 +2,7 @@
 {-# LANGUAGE ScopedTypeVariables, GADTs #-}
 module ConstProp (ConstFact, constLattice, initFact, varHasLit, constProp) where
 
+import Control.Monad
 import qualified Data.Map as M
 import qualified Data.Map as Map
 
@@ -67,7 +68,7 @@ constProp :: Monad m => FwdRewrite m Node ConstFact
 constProp = shallowFwdRw cp
  where
    cp node f
-     = return $ fmap nodeToG $ mapVN (lookup f) node
+     = return $ liftM nodeToG $ mapVN (lookup f) node
    mapVN      = map_EN . map_EE . map_VE
    lookup f x = case M.lookup x f of
                   Just (PElem v) -> Just $ Lit v
index c7a998e..0084b84 100644 (file)
@@ -2,6 +2,7 @@
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
 module OptSupport (stdMapJoin, map_VE, map_EE, map_EN, map_VN, fold_EE, fold_EN, insnToG) where
 
+import Control.Monad
 import qualified Data.Map as M
 import Data.Maybe
 import Prelude hiding (succ)
@@ -93,7 +94,7 @@ map_EE f e@(Binop op e1 e2) =
                     where e' = Binop op (fromMaybe e1 e1') (fromMaybe e2 e2')
 
 map_EN _   (Label _)           = Nothing
-map_EN f   (Assign v e)        = fmap (Assign v) $ f e
+map_EN f   (Assign v e)        = liftM (Assign v) $ f e
 map_EN f   (Store addr e)      =
   case (f addr, f e) of
     (Nothing, Nothing) -> Nothing
index ee1b38d..44730f7 100644 (file)
@@ -2,6 +2,7 @@
 {-# LANGUAGE ScopedTypeVariables, GADTs, PatternGuards #-}
 module Simplify (simplify) where
 
+import Control.Monad
 import Compiler.Hoopl
 import IR
 import OptSupport
@@ -16,7 +17,7 @@ type Node = Insn
 simplify :: Monad m => FwdRewrite m Node f
 simplify = deepFwdRw simp
  where
-  simp node _ = return $ fmap nodeToG $ s_node node
+  simp node _ = return $ liftM nodeToG $ s_node node
   s_node :: Node e x -> Maybe (Node e x)
   s_node (Cond (Lit (Bool b)) t f)
     = Just $ Branch (if b then t else f)