That's how it is defined in the Haskell definition.
But there is a reason. The offside rule (or whatever yoy want to
call it) is there to give visual cues. If you were allowed to override
these easily just because it's parsable in principle then your code
would no longer have these visual cues that make Haskell code fairly
easy to read.
-- Lennart
Frederik Eaton wrote:
Compiling the following module (with ghc) fails with error message
"parse error (possibly incorrect indentation)", pointing to the let
statement. The error goes away when I indent the lines marked "--*".
But I don't understand how what I've written could be ambiguous. If I
am inside a parenthesized expression, then I can't possibly start
another let-clause. The fact that the compiler won't acknowledge this
fact ends up causing a lot of my code to be squished up against the
right margin when it seems like it shouldn't have to be.
module Main where
main :: IO ()
main = do
let a = (map (\x->
x+1) --*
[0..9]) --*
print a
return ()
Is there a reason for this behavior or is it just a shortcoming of the
compiler?
Frederik
_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell
_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell