Fix warnings.
authorEdward Z. Yang <ezyang@mit.edu>
Wed, 19 Jan 2011 11:30:44 +0000 (11:30 +0000)
committerEdward Z. Yang <ezyang@mit.edu>
Wed, 19 Jan 2011 11:30:44 +0000 (11:30 +0000)
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
src/Compiler/Hoopl/Combinators.hs
src/Compiler/Hoopl/Unique.hs

index 1cdbd28..1dcd41a 100644 (file)
@@ -67,14 +67,14 @@ iterFwdRw rw3 = wrapFR iter rw3
        iter rw n = (liftM $ liftM $ fadd_rw (iterFwdRw rw3)) . rw n
 
 -- | Function inspired by 'rew' in the paper
-frewrite_cps :: Monad m
+_frewrite_cps :: Monad m
              => ((Graph n e x, FwdRewrite m n f) -> m a)
              -> m a
              -> (forall e x . n e x -> f -> m (Maybe (Graph n e x, FwdRewrite m n f)))
              -> n e x
              -> f
              -> m a
-frewrite_cps j n rw node f =
+_frewrite_cps j n rw node f =
     do mg <- rw node f
        case mg of Nothing -> n
                   Just gr -> j gr
index f5b7bbb..e731907 100644 (file)
@@ -106,7 +106,9 @@ instance Monad SimpleUniqueMonad where
                               unSUM (k a) us'
 
 instance UniqueMonad SimpleUniqueMonad where
-  freshUnique = SUM $ \(u:us) -> (u, us)
+  freshUnique = SUM $ f
+    where f (u:us) = (u, us)
+          f _ = error "Unique.freshUnique(SimpleUniqueMonad): empty list"
 
 instance CheckpointMonad SimpleUniqueMonad where
   type Checkpoint SimpleUniqueMonad = [Unique]
@@ -125,7 +127,9 @@ instance Monad m => Monad (UniqueMonadT m) where
   m >>= k  = UMT $ \us -> do { (a, us') <- unUMT m us; unUMT (k a) us' }
 
 instance Monad m => UniqueMonad (UniqueMonadT m) where
-  freshUnique = UMT $ \(u:us) -> return (u, us)
+  freshUnique = UMT $ f
+    where f (u:us) = return (u, us)
+          f _ = error "Unique.freshUnique(UniqueMonadT): empty list"
 
 runUniqueMonadT :: Monad m => UniqueMonadT m a -> m a
 runUniqueMonadT m = do { (a, _) <- unUMT m allUniques; return a }