SimpleUniqueMonad: define instance for Functor
authorBernhard Urban <lewurm@gmail.com>
Mon, 29 Oct 2012 15:34:22 +0000 (16:34 +0100)
committerBernhard Urban <lewurm@gmail.com>
Mon, 29 Oct 2012 15:34:22 +0000 (16:34 +0100)
.. for convient use of `<$>'

src/Compiler/Hoopl/Unique.hs

index 6b4a570..4d8bc06 100644 (file)
@@ -21,6 +21,8 @@ import Compiler.Hoopl.Collections
 import qualified Data.IntMap as M
 import qualified Data.IntSet as S
 
+import Control.Monad (liftM)
+
 -----------------------------------------------------------------------------
 --             Unique
 -----------------------------------------------------------------------------
@@ -104,6 +106,9 @@ class Monad m => UniqueMonad m where
 
 newtype SimpleUniqueMonad a = SUM { unSUM :: [Unique] -> (a, [Unique]) }
 
+instance Functor SimpleUniqueMonad where
+  fmap = liftM
+
 instance Monad SimpleUniqueMonad where
   return a = SUM $ \us -> (a, us)
   m >>= k  = SUM $ \us -> let (a, us') = unSUM m us in