[commit: vector] master: Add MonadPlus instance (f1b6596)
Ian Lynagh
igloo at earth.li
Sat Oct 15 02:47:20 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/vector
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/f1b6596a629d59e2a3c9397c6777568b149a1db7
>---------------------------------------------------------------
commit f1b6596a629d59e2a3c9397c6777568b149a1db7
Author: Roman Leshchinskiy <rl at cse.unsw.edu.au>
Date: Tue Aug 30 19:23:47 2011 +0000
Add MonadPlus instance
>---------------------------------------------------------------
Data/Vector.hs | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/Data/Vector.hs b/Data/Vector.hs
index a628871..7fac580 100644
--- a/Data/Vector.hs
+++ b/Data/Vector.hs
@@ -156,7 +156,7 @@ import Data.Vector.Mutable ( MVector(..) )
import Data.Primitive.Array
import qualified Data.Vector.Fusion.Stream as Stream
-import Control.Monad ( liftM, ap )
+import Control.Monad ( MonadPlus(..), liftM, ap )
import Control.Monad.ST ( ST )
import Control.Monad.Primitive
@@ -275,6 +275,13 @@ instance Monad Vector where
{-# INLINE (>>=) #-}
(>>=) = flip concatMap
+instance MonadPlus Vector where
+ {-# INLINE mzero #-}
+ mzero = empty
+
+ {-# INLINE mplus #-}
+ mplus = (++)
+
instance Applicative.Applicative Vector where
{-# INLINE pure #-}
pure = singleton
More information about the Cvs-libraries
mailing list