On 01/12/2009 14:27, Ian Lynagh wrote:
On Tue, Dec 01, 2009 at 09:14:22AM +0000, Simon Marlow wrote:

So I think the layout rule should read something like

   A layout context can be closed by either
     (a) a token indented less than the current indentation level
     (b) a closing bracket that matches an open bracket outside the
         current layout context

where the set of brackets applying to (b) are (), [], {}, and let..in.

And if/then, then/else?

There are lots more things you could consider as brackets, I erred on the side of simplicity here. Not only if/then/else, but also case/of, and if we really wanted to be silly we could start adding things like | .. = (with commas, for pattern guards). But I think if the new rule is going to be enough of an improvement, it really has to stick to having only a few obvious ways to close a layout context.

What I don't know is whether people will accept the new rule in practice. It's hard to remove a feature purely on the grounds of complexity, when the complexity doesn't bite that many people (Duncan already made this point, I think we could expect similar views from others).

Cheers,
        Simon

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to