<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 5, 2015 at 10:50 AM, Edward Z. Yang <span dir="ltr"><<a href="mailto:ezyang@mit.edu" target="_blank">ezyang@mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Excerpts from Simon Peyton Jones's message of 2015-05-05 01:15:50 -0700:<br>
<span class="">> Very good exercise!  Looking for how an existing API is used (perhaps in a clumsy way, because of the inadequacies of the existing API) is a good guide to improving it.<br>
><br>
> e.g. If tuple names are an issue, let’s provide a TH API for getting their names!!<br>
<br>
</span>Hello Simon,<br>
<br>
The right and proper way of getting a tuple name (well, constructor<br>
really, but that's the only reason people want names) should be:<br>
<br>
    [| (,) |]<br>
<br>
But people sometimes don't want to use quotes, e.g. as in<br>
<a href="https://github.com/ekmett/lens/issues/496" target="_blank">https://github.com/ekmett/lens/issues/496</a> where they want to<br>
work with stage1 GHC.<br>
<br>
So in this case, <a href="https://ghc.haskell.org/trac/ghc/ticket/10382" target="_blank">https://ghc.haskell.org/trac/ghc/ticket/10382</a> (making<br>
quotes work with stage1 GHC) will help a lot.<span class=""><font color="#888888"><br></font></span></blockquote><div><br><a href="http://Language.Haskell.TH">Language.Haskell.TH</a> already exports tupleTypeName tupleDataName<br></div></div></div></div>