The first version has bar True and False all at the same indentation level.
As such they are seen as standalone expressions, rather than being nested
under the one introduced by bar.

See http://en.wikibooks.org/wiki/Haskell/Indentation




On Thu, Oct 3, 2013 at 8:31 PM, Corentin Dupont
<corentin.dup...@gmail.com>wrote:

> Hi the list,
> why do this function doesn't compile (parse error):
>
> test :: Bool -> IO ()
> test foo = do
>    let bar = case foo of
>        True ->  "Foo";
>        False -> "Bar"
>    return ()
>
> while this one does (just adding one space in front of True and False):
>
> test :: Bool -> IO ()
> test foo = do
>    let bar = case foo of
>         True ->  "Foo";
>         False -> "Bar"
>    return ()
>
>
> Thanks!!
> Corentin
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to