how do I abstract this pattern ?
Bulat Ziganshin
bulat.ziganshin at gmail.com
Wed May 21 12:31:42 EDT 2008
Hello HP,
Wednesday, May 21, 2008, 8:11:56 PM, you wrote:
> Suppose p1, p2, p3 are 3 predicates
> that take an input -- say, a String.
> They return either (True, result)
> or False.
impossible because these are different types :))
if they return Just result or Nothing - yes, use Maybe as monad:
combine p1 p2 p3 x= do x1 <- p1 x
x2 <- p2 x1
x3 <- p3 x2
return x3
or shortly
combine p1 p2 p3 x = p1 x >>= p2 >>= p3
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Glasgow-haskell-users
mailing list