Hi Simon, I'm sorry about the late reply.
On 2 June 2016 at 07:19, Simon Peyton Jones <[email protected]> wrote: > Akio > > Thanks for bringing back the ArgumentsDo question. > > My personal take on it is similar to Bardur: > >> AFAICT at best it's a *very* small improvement[1] and fractures >> Haskell syntax even more around extensions -- tooling etc. will need >> to understand even *more* syntax extensions[2]. > > The benefit to me seems slight. The cost is also modest, but it is not zero > (see below), even given a complete implementation. ANY feature carries a > cost that is borne by every subsequent implementor, in perpetuity. I understand your concern. I think this extension is worthwhile, but of course this should be ultimately decided on by people who actually maintain GHC. > > So I am a bit reluctant. > > These things are a judgement call, and we don't have a good process for > making that decision. A few of us have been talking about putting forward a > better process; it'll be a few weeks. > > Meanwhile, what to do about ArgumentDo? You say > > | I disagree that this is a small improvement, but I don't intend to > | debate this here. As you said, nothing has really changed since it was > | discussed before, and a lot of reasons for implementing this extension > | have been already pointed out. I don't have anything to add. > > Is there a wiki page that describes the proposal, and lists the "lot of > reasons" why it would be a good thing? And lists any disadvantages? I'm not > just erecting obstacles: the trouble with email is that it is long and > discursive, so it's really hard to find all the relevant messages, and even > if you do each message only makes sense if you read the long sequence. I made a wiki page: https://ghc.haskell.org/trac/ghc/wiki/ArgumentDo > > One question I have is this. Presumably > f do stmts > will be represented as > HsApp (HsVar f) (HsDo ...stmts...) > And should print without parens -- they are signalled by HsPar. So what about > (HsApp (HsVar f) (HsDo ...stmts1..)) (HsDo ..stmts2..) > How does that pretty-print. I suppose it should be > f do stmts1 > do stmts2 > That is, it must use layout. But at the moment the pretty printer doesn't do > that. It looks like the pretty printer always prints curly braces around do statements (ppr_do_stmts in hsSyn/HsExpr.hs), so perhaps this is not an issue? - Akio _______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
