[Haskell-cafe] Syntax of 'do'
Maurício
briqueabraque at yahoo.com
Fri Aug 29 09:41:41 EDT 2008
Hi,
http://haskell.org/haskellwiki/Keywords says that:
-------------
[do is a] syntactic sugar for use with monadic
expressions. For example:
do { x ; result <- y ; foo result }
is shorthand for:
x >> y >>= \result -> foo result
-------------
I did some tests hiding Prelude.>> and Prelude.>>=
and applying >> and >>= to non-monadic types, and
saw that 'do' would not apply to them. So, I would
like to add the following to that text:
-------------
as long as proper types apply:
x :: Prelude.Monad a
y :: Prelude.Monad b
foo :: b -> Prelude.Monad c
-------------
Is that correct (Haskell and English)?
Thanks,
Maurício
More information about the Haskell-Cafe
mailing list