The Haskell Report says:

To facilitate the use of layout at the top level of a module (an
implementation may allow several modules may reside in one file), the
keyword module and the end-of-file token are assumed to occur in
column 0 (whereas normally the first column is 1). Otherwise, all
top-level declarations would have to be indented.

I've read this many times without thinking about it; however, once I
thought about it, it doesn't make sense.  Following a module, the
keyword "module" is "an illegal lexeme...encountered at a point where
a close brace would be legal"; therefore, the close brace is properly
inserted no matter what column "module" occurs in.  Therefore, I
suggest that the above paragraph be removed from the Report.

Carl Witty
[EMAIL PROTECTED]



Reply via email to