# Layout indentation marking

Ian Lynagh igloo@earth.li
Sun, 10 Mar 2002 15:22:40 +0000

Given this module

module Main where

main :: IO()
main = putStrLn $show$ foo

foo :: Int
foo = x + y
where x = 6
s = "foo\
\bar" y = 7

nhc98 and hugs correctly (as per the revised report) print 13. ghc gives

q.lhs:11: parse error on input ='

I think ghc is in the right here and the report should be updated to

+ Where the start of a lexeme does not follow the end of a lexeme on
the same line, this lexeme is preceded by <n> where n is the
indentation of the lexeme, provided that it is not, as a
consequence of the first two rules, preceded by {n}. (A string
literal may span multiple lines -- Section 2.6.)

+ Where the start of a lexeme does not follow a complete lexeme on
the same line, this lexeme is preceded by <n> where n is the
indentation of the lexeme, provided that it is not, as a
consequence of the first two rules, preceded by {n}. (A string
literal may span multiple lines -- Section 2.6.)

where I have altered only the first line).

Thanks
Ian

`