Fri, 30 Jul 1999 05:12:51 -0700, Simon Marlow <[EMAIL PROTECTED]> pisze:

> The main reason for its inclusion was to allow things like
> 
>       let f x = x in ...
> 
> and also to automatically insert the final '}' before the end of file.
> Perhaps the layout rule should be restricted to these two cases?

Does it mean that the following expressions would be illegal?

if cond then do proc1; proc2 else do proc3; proc4
(case e of Just x -> x > 0; Nothing -> False)

Now one can forget about {} and use layout everywhere. He would no
longer be able to forget or he would have to split some expressions
into indented lines, even when they are unambiguous in one line.


Hmm, the `do x == y == z' case is a real trouble. Would it be not
too ugly to formalize the current common behavior as something like
"for the purposes of layout resolution, the syntax does not care
about fixity declarations"? I guess that treating them in any way at
this stage, as long as they don't reject non-associative operators,
would yield the same result... Ugly but practical.

-- 
 __("<    Marcin Kowalczyk * [EMAIL PROTECTED] http://kki.net.pl/qrczak/
 \__/          GCS/M d- s+:-- a22 C+++>+++$ UL++>++++$ P+++ L++>++++$ E-
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-



Reply via email to