[Haskell-cafe] generating parens for pretty-printing code in haskell-src-exts

Niklas Broberg niklas.broberg at gmail.com
Sat Jan 21 19:39:18 CET 2012

Hi Conal,

On Sun, Jan 15, 2012 at 6:45 AM, Conal Elliott <conal at conal.net> wrote:

> I'm using haskell-src-exts together with SYB for a code-rewriting project,
> and I'm having difficulty with parenthesization. I naïvely expected that
> parentheses would be absent from the abstract syntax, being removed during
> parsing and inserted during pretty-printing. It's easy for me to remove
> them myself, but harder to add them (minimally) after transformation.
> Rather than re-inventing the wheel, I thought I'd ask for help.

It's not at all straight-forward to properly insert minimal parentheses
during pretty-printing, since "minimal" is a semantic notion. For that to
work, we would need the pretty-printer to take a set of known fixities as
an argument, just like the parser currently does. I'm not opposed to the
idea in principle, but it's not how it currently works.

> Has anyone written automatic minimal parens insertion for haskell-src-exts?

... or we could do it this way, in a two-stage modular process which gives
even more flexibility. I'm not aware of any such functionality, currently,
but if it exists (or happens to come into existence) then I would be
interested in including it in haskell-src-exts.

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120121/e85ffafa/attachment.htm>

More information about the Haskell-Cafe mailing list