From e8ebfa8255d2bf0c4abbe3d52380fd44edfeafe6 Mon Sep 17 00:00:00 2001 From: Roman Leshchinskiy Date: Mon, 9 Jul 2007 05:37:40 +0000 Subject: [PATCH] Add orElse combinator for vectorisation monad --- compiler/vectorise/Vectorise.hs | 3 +++ 1 file changed, 3 insertions(+) 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) } -- 1.7.10.4