<div class="gmail_quote">2011/12/29 Manfred Lotz <span dir="ltr">&lt;<a href="mailto:manfred.lotz@arcor.de">manfred.lotz@arcor.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi there,<br>
might be trivial but anyway.<br>
<br>
I have a usage of &#39;any&#39; and &#39;all&#39; but I only have a predicate<br>
p :: a -&gt; IO Bool.<br>
<br>
I wrote my own functons for this:<br>
<br>
<br>
mor :: Monad m =&gt; [m Bool] -&gt; m Bool<br>
mor = liftM or . sequence<br>
<br>
mand :: Monad m =&gt; [m Bool] -&gt; m Bool<br>
mand = liftM and . sequence<br>
<br>
or&#39; :: Monad m =&gt; ( a -&gt; m Bool) -&gt; [a] -&gt; [m Bool]<br>
or&#39; _ [] = []<br>
or&#39; p (x:xs) = p x : or&#39; p xs<br>
<br>
and&#39; :: Monad m =&gt; ( a -&gt; m Bool) -&gt; [a] -&gt; [m Bool]<br>
and&#39; _ [] = []<br>
and&#39; p (x:xs) = p x : and&#39; p xs<br>
<br>
myany :: Monad m =&gt; (a -&gt; m Bool) -&gt; [a] -&gt; m Bool<br>
myany p = mor . or&#39; p<br>
<br>
myall :: Monad m =&gt; (a -&gt; m Bool) -&gt; [a] -&gt; m Bool<br>
myall p = mand . and&#39; p<br>
<br>
<br>
which seems to do what I want.<br>
<br>
<br>
Question: Is there any libray function I could use to do this?<br>
<font color="#888888"><br>
<br>
--<br>
Thanks,<br>
Manfred<br>
</font></blockquote><div> <br>Hi Manfred,<br></div></div><br>have a look here: <a href="http://hackage.haskell.org/packages/archive/monad-loops/latest/doc/html/Control-Monad-Loops.html#v:allM">http://hackage.haskell.org/packages/archive/monad-loops/latest/doc/html/Control-Monad-Loops.html#v:allM</a><br>
<br>Regards Tim<br><br><br>