Thanks. And any thoughts on my proposal to do away with the braces/semi completely? I suspect GHC is the only significant body of code that uses that style still.
Alan On Thu, Nov 10, 2016 at 10:24 AM, Simon Peyton Jones <simo...@microsoft.com> wrote: > I think it’s because the “;” is treated as part of the let not part of > the do. After all, how does the implicit layout of the let know that the > let-bindings are finished? > > > > This should work > > > > foo > = do { let { x = 1 }; > Just 5 } > > > > Now the let bindings are clearly brought to an end. Or this > > > > foo > = do { let x = 1 > > ; Just 5 } > > > > Now the “’;” is to the left of the x=1 and so brings the let’s implicit > layout to an end. > > > > But not this! > > > > foo > = do { let x = 1; Just 5 } > > > > So it’s a bug in the pretty-printer, not the parser > > > > SImon > > > > > > *From:* ghc-devs [mailto:ghc-devs-boun...@haskell.org] *On Behalf Of *Alan > & Kim Zimmerman > *Sent:* 10 November 2016 07:01 > *To:* ghc-devs@haskell.org > *Subject:* ppr of HsDo > > > > The pretty printer turns > > foo = do > let x = 1 > Just 5 > > into > > foo > = do { let x = 1; > Just 5 } > > which does not parse, complaining about "parse error on input ‘Just’" > > Is this a parser error or a ppr problem? I am keen to fix the ppr to > output > > > foo > = do let x = 1 > Just 5 > > but I am not sure if there is a parser bug too. > > Alan >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs