The problem is that the semicolon after "let a = 3" is consumed as part of the let-declaration. To make sure that the semicolon is not parsed as part of the let, you need to indent it less than the variable "a".
For example:

module Main where
main = do {
        let a = 3
        ; return ();
};

Arthur

  Why isn't this one [valid]?

module Main where
main = do {
        let a = 3;
        return ();
};


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to