Hi,
I have sumIs2020P1' xs = do x <- xs y <- xs guard (x + y == 2020) pure (x,y) which has been desugared from a list comprehension I would like to reduce this even more using >>= So I do sumIs2020P1'' xs = (a,b) where (a,b):rest = filter (\(x,y) -> x + y == 2020) pairs pairs = xs >>= \x -> xs >>= \y -> pure (x,y) but really I would like the guard to be within the >>= sections but I could not work out how to do it! i.e. I’m looking for something like (pseudo code) pairs = xs >>= \x -> xs >>= \y -> if (x + y == 2020) then pure (x,y) else DO_NOTHING which would then allow the filter to be removed. Many Thanks Mike _______________________________________________ Beginners mailing list [hidden email] http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners |
If you check on hoogle for how guard is written, it is just this On Wed, Dec 2, 2020 at 5:31 AM mike h <[hidden email]> wrote:
_______________________________________________ Beginners mailing list [hidden email] http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners |
Duh! Of course, thanks David.
_______________________________________________ Beginners mailing list [hidden email] http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |