[Haskell-cafe] extending Do notation
silvio.frischi at gmail.com
Tue May 20 20:42:00 UTC 2014
> f x
> | a && (b > 1 || (c && d)) && e = ...
> Now if 'c' becomes monadic you have to rewrite the whole expression in
> an entirely different (and much noisier) style. Not just all the
> lifting, but you can't use infix operators anymore. It really does
> feel like there are two languages (or dialects), with different idioms
> and syntax. You can translate between them without much complicated
> effort, but it's still a manual translation.
Good example, but i don't think you can have monads in a guard. Also I'd
go for the temporary variable instead of lifting.
More information about the Haskell-Cafe