[Haskell-cafe] guards in applicative style
felipe zapata
tifonzafel at gmail.com
Wed Sep 12 16:40:11 CEST 2012
Hi Haskellers,
Suppose I have two list and I want to calculate
the cartesian product between the two of them,
constrained to a predicate.
In List comprehension notation is just
result = [ (x, y) | x <- list1, y <-list2, somePredicate x y ]
or in monadic notation
result = do
x <- list1
y <- list2
guard (somePredicate x y)
return $ (x,y)
Then I was wondering if we can do something similar using an applicative
style
result = (,) <$> list1 <*> list2 (somePredicate ???)
The question is then,
there is a way for defining a guard in applicative Style?
Thanks in advance,
Felipe Zapata.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120912/97fd6e1a/attachment.htm>
More information about the Haskell-Cafe
mailing list