From: Roman Leshchinskiy Date: Mon, 9 Jul 2007 05:37:40 +0000 (+0000) Subject: Add orElse combinator for vectorisation monad X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=e8ebfa8255d2bf0c4abbe3d52380fd44edfeafe6;p=ghc-hetmet.git Add orElse combinator for vectorisation monad --- diff --git a/compiler/vectorise/Vectorise.hs b/compiler/vectorise/Vectorise.hs index 41b360e..d662142 100644 --- a/compiler/vectorise/Vectorise.hs +++ b/compiler/vectorise/Vectorise.hs @@ -166,6 +166,9 @@ tryV (VM p) = VM $ \bi env -> do maybeV :: VM (Maybe a) -> VM a maybeV p = maybe noV return =<< p +orElseV :: VM a -> VM a -> VM a +orElseV p q = maybe q return =<< tryV p + liftDs :: DsM a -> VM a liftDs p = VM $ \bi env -> do { x <- p; return (Yes env x) }