[Haskell-cafe] Syntax of 'do'

Miguel Mitrofanov miguelimo38 at yandex.ru
Fri Aug 29 09:48:59 EDT 2008


-XNoImplicitPrelude ?

On 29 Aug 2008, at 17:41, Maurí cio wrote:

> 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
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list