<div dir="ltr"><div>Ok, then I think the middle ground is keyword-specific annotations, as proposed by Neil.<br><br></div>What should happen is that the raw annotations are used by a tool layer such as ghc-exactprint or HaRe, and other more casual users will not have to worry about the internal detail.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 10, 2014 at 9:13 PM, GHC <span dir="ltr"><<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">#9628: Add Annotations to the AST to simplify source to source conversions<br>
-------------------------------------+-------------------------------------<br>
</span><span class=""> Reporter: alanz | Owner: alanz<br>
Type: feature | Status: new<br>
request | Milestone:<br>
Priority: normal | Version: 7.9<br>
Component: Compiler | Keywords:<br>
Resolution: | Architecture: Unknown/Multiple<br>
Operating System: | Difficulty: Unknown<br>
Unknown/Multiple | Blocked By:<br>
Type of failure: | Related Tickets:<br>
None/Unknown |<br>
</span> Test Case: |<br>
Blocking: |<br>
Differential Revisions: D297 |<br>
-------------------------------------+-------------------------------------<br>
<br>
Comment (by simonpj):<br>
<br>
I don't have data, but people are already complaining about the amount of<br>
code generated by data type declarations #9669. Have you counted how many<br>
data constructors there are in `HsSyn`? It's a LOT.<br>
<br>
It just feels like a sledgehammer to crack a nut.<br>
<br>
Simon<br>
<br>
--<br>
Ticket URL: <<a href="http://ghc.haskell.org/trac/ghc/ticket/9628#comment:21" target="_blank">http://ghc.haskell.org/trac/ghc/ticket/9628#comment:21</a>><br>
<div class="HOEnZb"><div class="h5">GHC <<a href="http://www.haskell.org/ghc/" target="_blank">http://www.haskell.org/ghc/</a>><br>
The Glasgow Haskell Compiler<br>
</div></div></blockquote></div><br></div>