Layout only applies when something is less indented than previous lines, I believe...
e.g. > do > c <- getContents "filename" > putStrLn "blah" or > do > x <- getContents "filename" > putStrLn "ok" works fine but > do > c <- blahAction > putStrLn "blah" obviously won't work Jared. On 3/2/06, Brian Hulley <[EMAIL PROTECTED]> wrote: > Brian Hulley wrote: > [snip] > > So any solutions welcome :-) > > Thank to everyone who replied to my queries about this whole layout issue. > > One other thing I've been wanting to ask (not to change! :-)) for a while > is: how is the following acceptable according to the rules in the Haskell98 > report where "where" is one of the lexemes, which when followed by a line > more indented than the line the layout-starting-lexeme is on, should start > an implicit block: > > module M where > data T = ..... -- not indented! > > According to my understanding of the layout algorithm, the above code would > have to be written: > > module M where > data T = .... > > Can anyone shed some light on what the formal rule is that allows the first > (and very useful) way of laying out code to be ok? > > Thanks, Brian. > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > -- http://www.updike.org/~jared/ reverse ")-:" _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe