Applicative Comprehensions
As discussed on ghc-devs, when both the MonadComprehensions
and ApplicativeDo
language extensions are enabled, it should be possible to use comprehension-notation (in addition to do-notation) for Applicative
s. This would allow, for example, an expression like
(\x y -> x + 2*y) <$> ZipList [1..10] <*> ZipList [10,20..100]
to also be written as
[ x + 2*y | x <- ZipList [1..10], y <- ZipList [10,20..100] ]