[Haskell-beginners] How to write replicateM with interspersed guards?

Sebastien Zany sebastien at chaoticresearch.com
Tue Oct 4 14:27:59 CEST 2011


What would be the idiomatic way to write a function which expands to the
following?

f n m = do {
x1 <- m;
guard (f [x1]);
x2 <- m;
guard (f [x1, x2]);
.
.
.
xn <- m;
guard (f [x1,x2,...,xn]);
}

What I'm trying to do is generate a list of lists of length n with some
property (checked by f) efficiently.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20111004/21248ef1/attachment.htm>


More information about the Beginners mailing list