Repository : ssh://darcs.haskell.org//srv/darcs/packages/hoopl On branch : master
http://hackage.haskell.org/trac/ghc/changeset/e77a80bc8fffd8b3ebc50acba8901a35c9613114 >--------------------------------------------------------------- commit e77a80bc8fffd8b3ebc50acba8901a35c9613114 Author: Bernhard Urban <[email protected]> Date: Mon Oct 29 16:34:22 2012 +0100 SimpleUniqueMonad: define instance for Functor .. for convient use of `<$>' >--------------------------------------------------------------- src/Compiler/Hoopl/Unique.hs | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/Compiler/Hoopl/Unique.hs b/src/Compiler/Hoopl/Unique.hs index 6b4a570..4d8bc06 100644 --- a/src/Compiler/Hoopl/Unique.hs +++ b/src/Compiler/Hoopl/Unique.hs @@ -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 _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
