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